Php 检查与MySQL服务器版本对应的手册
无法找出此代码的问题所在 不断出错 注意:第10行的C:\wamp\www\myProject\editProfile\edit\u save.php中的未定义索引:userID 及 无法运行查询:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以了解第1行的正确语法(UserID、matrix_num、student、username、town、email、txtavorite、noDate、txtMobil)Php 检查与MySQL服务器版本对应的手册,php,mysql,Php,Mysql,无法找出此代码的问题所在 不断出错 注意:第10行的C:\wamp\www\myProject\editProfile\edit\u save.php中的未定义索引:userID 及 无法运行查询:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以了解第1行的正确语法(UserID、matrix_num、student、username、town、email、txtavorite、noDate、txtMobil) 逗号运算符在WHERE子句中无效 看起来您需要逻辑的和或或运算符
逗号运算符在WHERE子句中无效 看起来您需要逻辑的
和
或或
运算符。类似以下形式的查询:
SELECT t.*
FROM tblmyprofile t
WHERE t.student = 'fee'
AND t.username = 'fi'
AND t.matrix_num = 'fo'
AND t.town = 'fum'
AND t.mail = 'foo'
但是对于SQL查询来说,这是一个非常奇怪的构造;它没有什么无效的。但是通常,使用SELECT,我们通常打算基于几个谓词检索行,然后从行中获取值
对于SQL查询的调试问题,通常最好将要发送到数据库的SQL文本串在一起,然后回显(或printf或vardump)字符串,例如
$sql = "SELECT col, expr, col FROM mytable WHERE col = 'abc'";
echo $sql;
然后,在解析和执行sql语句的调用中引用$sql
我相信您遇到的部分问题可能是包含SQL文本的字符串的构造。有些语言在字符串文本中包含变量和引号方面很挑剔
e、 g
同样,在组合SQL文本之后,将其回显以进行调试,并验证它是否是要发送到数据库的字符串
还要注意的是,mysql\uuu接口已被弃用。新的开发应该使用mysqli\uu或PDO。还要注意,在SQL文本中包含任何不安全变量都可能导致SQL注入漏洞。要么“转义”SQL文本中包含的变量中的特殊字符,或者更好的,使用带绑定参数的预处理语句,以避免SQL注入。当您出现该错误时,
$SQL
是什么?您确定此查询是生成错误的查询吗?
$sql = "SELECT col, expr, col FROM mytable WHERE col = 'abc'";
echo $sql;
$sql = " WHERE t.fee = '" . mysql_real_escape_string($foo) . "'"
. " AND t.fi = '" . mysql_real_escape_string($bar) . "'"
. ... ;