我在sql查询执行时遇到问题。我正在使用这个SQL查询:
$userid = 1;
$sql = mysql_query("
SELECT ID, Nm, Address, date_format(DateOfBirth, '%d%M%Y') as DateOfBirth
FROM PersonalDetails where UserMasterID = $userid
") or die (mysql_error());
结果显示为:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'=附近使用正确的语法 '第1行
当我在PHPMyAdmin中执行它时,它可以正常工作。 我使用的是mysql(5.0.5b)和PHP(5.2.6)
你能帮我吗?
答案 0 :(得分:5)
如果UserMasterID
不是整数,则可能需要在值周围加上引号:
PersonalDetails where UserMasterID = '$userid'"
您在上面引用的查询不与您在phpMyAdmin中运行的查询相同。它包含一个PHP变量。 在SQL遇到问题时,始终输出并分析解析的查询(其中没有对PHP变量的引用)。
$query = "select ID... etc. etc.";
$result = mysql_query($query);
if (!$result)
echo "Error in query $query: ".mysql_error();
90%的问题可以通过这种方式被发现和解决。
答案 1 :(得分:0)
如果它在PHPMyAdmin中正确运行,但在PHP代码中没有运行,那么那就告诉我PHPMyAdmin正在执行它的着名任务,即逃避并清理它可能发生的一切。
将您的代码更改为此并进行检查。
$userid = 1;
$sql = mysql_query("
SELECT `ID`, `Nm`, `Address`, date_format(`DateOfBirth`, '%d%M%Y') as DateOfBirth
FROM `PersonalDetails` where `UserMasterID` = '{$userid}'
") or die (mysql_error());
它现在应该运行。
答案 2 :(得分:-2)
嗯 - 你为什么不连接?
"SELECT `ID`, `Nm`, `Address`, date_format(`DateOfBirth`, '%d%M%Y') as DateOfBirth
FROM `PersonalDetails` where `UserMasterID` = '" . $userid . "'";
但是约瑟夫在...... {/ p>