我正在lynda.com上“PHP基本训练”的课程。到目前为止,一切都很顺利,但我需要做一些稍微不同的事情,才能达到与视频中的讲师相同的效果。下面是他的代码:
<?php
$query = "INSERT INTO subjects (
menu_name, position, visible
) VALUES (
'{$menu_name}', {$position}, {$visible}
)";
?>当他执行此命令时,一切正常,但为了让它为我工作,我还需要将$position和$visible变量放在单引号中,使其看起来如下所示:
<?php
$query = "INSERT INTO subjects (
menu_name, position, visible
) VALUES (
'{$menu_name}', '{$position}', '{$visible}'
)";
?>这是我能让代码正常工作的唯一方法,否则我会得到一个错误:“您的SQL语法中有一个错误,请查看与您的MySQL服务器版本对应的手册,以获得正确的语法...”我理解用单引号将$menu_name括起来,因为它表示一个字符串,而另外两个表示整数值。为什么我的代码在没有引号的情况下无法执行?是否需要在配置文件中更改某些内容?在整数上使用引号并让SQL为我进行转换是一种更好的做法,还是我不需要使用这些引号?任何帮助都将不胜感激。如果你现在还看不出来,我是个菜鸟。提前感谢您的帮助。
发布于 2011-10-22 18:33:07
检查整数的值。如果您的变量没有任何值,那么您会得到一个类似这样的查询
INSERT INTO subjects (
menu_name, position, visible
) VALUES (
'menu name', , ,)如果您的值是正确的整数值,那么您的查询应该可以工作。
https://stackoverflow.com/questions/7858735
复制相似问题