$sql='select * from 'xsk_xszb' LIMIT ?,?';报错

$sql='select * from 'xsk_xszb' LIMIT ?,?';报错

$qy=0;

$zy=10;

$pdo=new PDO(

'mysql:dbname=xsk_ao;host=localhost;port=3306',

'root',

'root',

[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]

);

$pdo->query("set names utf8");

$sql='select * from 'xsk_xszb' LIMIT ?,?';

$stmt=$pdo->prepare($sql);

$stmt->bindValue(1,$qy);

$stmt->bindValue(2,$zy);

$stmt->execute();

----------------------------------------报以下错误,视频 中表用单引号为什么不出错呢----

Parse error: syntax error, unexpected 'xsk_xszb' (T_STRING) in C:\phpEnv\www\localhost\l\leyui\src\views\php\mx_cx0.php on line 21


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小尤 2020-08-04 18:58:40

同学你好,1. 当字段或表名是MYSQL保留字段,当未添加反引号时会出现异常。如下所示:

SELECT `select` FROM `test` WHERE select='字段值'

在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。而引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select='字段值'。

2. 不加反引号建的表不能包含MYSQL保留字,否则出错。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕小尤 2020-08-04 10:54:05

同学你好,在表名处老师使用的并不是单引号,而是反引号(``),是tab键上的那一个。如下图所示:

http://img1.sycdn.imooc.com//climg/5f28cd8409bd8dba01420176.jpg

字段名和表名不可以使用单引号,但可以使用反引号。建议同学修改SQL语句。如下所示:

$sql='select * from `xsk_xszb` LIMIT ?,?';

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 宝慕林4057383 #1
    为什么要这样写呢,不加不是也不会报错吗
    2020-08-04 18:07:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师