如下php代码执行为什么报错,错在哪里
发布网友
发布时间:2022-04-06 01:45
我来回答
共2个回答
热心网友
时间:2022-04-06 03:14
我仔细看了一下你的代码流程,没有问题;
然后我在自己的本地测试环境中,新建一个test.php,并在我的测试数据库中添加了一个简单的contactInfo表;如下为我的mysql语句:
create table contactInfo (name char(255) not null, phone char(255) not null);
insert into contactInfo (name, phone) values("高某某", "0001312");
insert into contactInfo (name, phone) values("LGW", "0001312");
alter database zftest default character set 'gbk';
SET character_set_client='gbk';
SET character_set_connection='gbk';
SET character_set_results='gbk';
然后将你上面的代码拷贝到test.php中运行,出现一样的错误,弄了半天,都没看出什么问题;索性将你的代码我手动一个个重新键入test.php,神奇的事情发生了,测试通过;
究竟是怎么回事了?先将所有的代码都注释掉,然后逐行取消注释进行测试,发现从$affected = $dbh->exec($query);这一行就开始报错。然后我进行查看,发现$affected = $dbh->exec($query);该句话后面的空白中实际上还隐藏着一些制表符之类的东西,直接删除,然后测试,ok没报错,继续取消注释,发现后面的if .....else块中也包含也一些隐藏的制表符,整个重写,测试OK。
你的该代码是不是从其他某个地方复制过来的,包含了一些隐藏的制表符;
所以建议你手动将你的代码重新键入的脚本文件中。同时注意你的数据库是否已经更改,如果被更改的话,后续执行成功的话影响行数也为0.
热心网友
时间:2022-04-06 04:32
一个定界符有错?