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 SQL语法适用于正确语法的服务器版本_Php_Mysql_Mariadb - Fatal编程技术网

Php Mysql SQL语法适用于正确语法的服务器版本

Php Mysql SQL语法适用于正确语法的服务器版本,php,mysql,mariadb,Php,Mysql,Mariadb,我觉得我提出的问题没有问题。我不明白为什么我会出错 我已经尝试删除查询中的单引号,但它仍然是一样的 这是我的密码 错误 无法输入数据:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“Hills,price='393787',sqmw='218',sqml='218',sqm='47524',income='3773773'附近使用的正确语法 已更新谢谢 PHP代码MYSQL require 'connection.php'; $conn = Connect

我觉得我提出的问题没有问题。我不明白为什么我会出错

我已经尝试删除查询中的单引号,但它仍然是一样的

这是我的密码

错误

无法输入数据:您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“Hills,price='393787',sqmw='218',sqml='218',sqm='47524',income='3773773'附近使用的正确语法

已更新谢谢

PHP代码MYSQL
require 'connection.php';
$conn    = Connect();
$id= $conn->real_escape_string($_POST['id']);
$descr= $conn->real_escape_string($_POST['descr']);
$price= $conn->real_escape_string($_POST['price']);
$sqmw= $conn->real_escape_string($_POST['sqmw']);
$sqml= $conn->real_escape_string($_POST['sqml']);
$sqm = $sqmw * $sqml;
$income= $conn->real_escape_string($_POST['income']);
$statuss= $conn->real_escape_string($_POST['statuss']);
$query   = " UPDATE wentwrong SET descr='$descr',
 price='$price',
 sqmw='$sqmw',
 sqml='$sqml',
 sqm='$sqm',
 income='$income',
 statuss='$statuss'
 WHERE id='$id' ";

$success = $conn->query($query); 

if (!$success) {
    die("Couldn't enter data: ".$conn->error);

}

echo '<script language="javascript">';
echo 'alert("Edit Successfully!")';
echo '</script>';

echo '<script language="javascript">';
echo 'window.location.href = "http://google.com"';
echo '</script>';


$conn->close();

?>
需要“connection.php”;
$conn=Connect();
$id=$conn->real\u escape\u字符串($\u POST['id']);
$descr=$conn->real_escape_字符串($_POST['descr']);
$price=$conn->real\u escape\u字符串($\u POST['price']);
$sqmw=$conn->real_escape_字符串($_POST['sqmw']);
$sqml=$conn->real_escape_字符串($_POST['sqml']);
$sqm=$sqmw*$sqml;
$income=$conn->real_escape_字符串($_POST['income']);
$statuss=$conn->real_escape_字符串($_POST['statuss']);
$query=“UPDATE wentwrong SET descr=”$descr',
价格=“$price”,
sqmw=“$sqmw”,
sqml=“$sqml”,
sqm=“$sqm”,
收入=“$income”,
状态=“$statuss”
其中id=“$id”;
$success=$conn->query($query);
如果(!$success){
die(“无法输入数据:”.$conn->错误);
}
回声';
回显“警报(“编辑成功!”);
回声';
回声';
echo'window.location.href=”http://google.com"';
回声';
$conn->close();
?>

常量周围缺少引号。你在哪里

 $query   = " UPDATE wentwrong SET descr=$descr,    /*wrong*/
你应该

 $query   = " UPDATE wentwrong SET descr='$descr',  
解决这类问题的技巧

  • 仔细阅读错误消息。然后再读一遍
  • 相信错误信息。您正在使用已经存在了几十年的系统。他们不再抛出随机的虚假错误
  • 在MySQL的语法错误消息中,它显示了错误的查询,从它无法理解的第一个字符开始

  • 在常量周围缺少引号。你在哪里

     $query   = " UPDATE wentwrong SET descr=$descr,    /*wrong*/
    
    你应该

     $query   = " UPDATE wentwrong SET descr='$descr',  
    
    解决这类问题的技巧

  • 仔细阅读错误消息。然后再读一遍
  • 相信错误信息。您正在使用已经存在了几十年的系统。他们不再抛出随机的虚假错误
  • 在MySQL的语法错误消息中,它显示了错误的查询,从它无法理解的第一个字符开始

  • 此处缺少单引号
    descr=$descr
    。谢谢回复。您缺少此处的单引号
    descr=$descr
    。谢谢你的回复。天哪。我错过了。感谢老兄,OP应该花时间学习如何使用准备好的语句。无论如何,打字错误的问题都不应该被回答。@TimBiegeleisen,这是绝对正确的。它更安全,不受网络骚扰。它最终消除了带引号的字符串问题。但我们必须在他们所在的地方,而不是我们希望他们在的地方,与他们会面。我希望php能像taintPerl那样拒绝这样的事情。。。考虑到周末这里没有好问题,对一个饥饿的人来说,任何可以回答的问题都比一块菲力牛排要好。天哪。我错过了。感谢老兄,OP应该花时间学习如何使用准备好的语句。无论如何,打字错误的问题都不应该被回答。@TimBiegeleisen,这是绝对正确的。它更安全,不受网络骚扰。它最终消除了带引号的字符串问题。但我们必须在他们所在的地方,而不是我们希望他们在的地方,与他们会面。我希望php能像taintPerl那样拒绝这样的事情。。。考虑到周末这里没有好问题,对一个饥饿的人来说,任何可以回答的问题都比一块菲力牛排要好。