Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查与MySQL服务器版本对应的手册_Php_Mysql - Fatal编程技术网

Php 检查与MySQL服务器版本对应的手册

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子句中无效 看起来您需要逻辑的和或或运算符

无法找出此代码的问题所在

不断出错

注意:第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子句中无效

看起来您需要逻辑的
运算符。类似以下形式的查询:

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\uuPDO。还要注意,在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) . "'"
     . ...  ;