【问题标题】:Error in SQL syntax in the php scriptphp 脚本中的 SQL 语法错误
【发布时间】:2017-12-01 05:59:44
【问题描述】:

我正在尝试将我的 android 应用程序连接到在线数据库,但过程中弹出 sql 错误

失败 您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 在第 1 行的“qry”附近

这是 php 脚本

<?php
$name = "localhost";
$username ="**********";
$password ="**********";
$servername ="*********";
$conn = mysqli_connect($name,$username,$password,$servername);
$typee=$POST["typee"];
$heighte=$POST["heighte"];
$weighte=$POST["weighte"];
$ranke=$POST["ranke"];
    $typee = $conn->real_escape_string($typee);
    $hieghte = $conn->real_escape_string($hieghte);
    $weighte = $conn->real_escape_string($weighte);
    $ranke = $conn->real_escape_string($ranke);
$qry = "INSERT INTO Naruto(typee,heighte,weighte,ranke)VALUES('$typee','$heighte','$weighte','$ranke')";
 if(mysqli_query($conn,qry)===TRUE)
           echo "Success";
       else
          echo "Failed ".$conn->error; 
$conn->close();

【问题讨论】:

  • 不要混合使用 mysqli_ 面向对象和 mysqli_ 程序风格。 mysqli_query($conn,qry) 应该是 $conn-&gt;query($qry)。改变它,然后报告回来。编辑:哈,另外,你在qry之前缺少一个$
  • 谢谢。成功了!!

标签: php android mysql sql-server


【解决方案1】:

尝试将 $conn 传递给 mysqli_query

例如,

 if(mysqli_query($conn,qry)===TRUE)
    echo "Success";
else
    echo "Failed ".$conn->error; 

此外,您没有验证输入或转义,这意味着如果任何值具有 ' 字符,它将破坏您的查询并且语法将不再有效。

$typee=$mysqli->real_escape_string($POST["typee"]);
$heighte=$mysqli->real_escape_string($POST["heighte"]);
$weighte=$mysqli->real_escape_string($POST["weighte"]);
$ranke=$mysqli->real_escape_string($POST["ranke"]);

此外,黑客可以执行一种称为 sql 注入的攻击,将特制的字符串传递到您的数据库,从而破坏它或运行它的系统。

查看更多信息:http://php.net/manual/en/mysqli.real-escape-string.php

在您的特定示例中,还要检查间距是否不是问题。

$qry = "INSERT INTO Naruto(typee,heighte,weighte,ranke) VALUES('$typee','$heighte','$weighte','$ranke')";

另外,在您更新的帖子中,您拼错了变量,因此 $heighte 仍然没有被转义:

$heighte=$POST["heighte"];
...
$hieghte = $conn->real_escape_string($hieghte);

【讨论】:

  • 对不起兄弟没有工作。感谢您的建议!我已经相应地编辑了问题。
  • 查看其他编辑,变量拼写错误。
【解决方案2】:

你的所有字段都在 varchar 类型的 db 中吗?将每个类型包含在 ' ' 可能会导致问题,例如,heighte 是一个整数。检查一次。

【讨论】:

  • 是的。我已经检查过了。
猜你喜欢
  • 2012-03-24
  • 2013-10-14
  • 2016-10-23
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
相关资源
最近更新 更多