【问题标题】:Why do I get the MySQL Error “Query was empty”?为什么我会收到 MySQL 错误“查询为空”?
【发布时间】:2012-08-05 07:45:59
【问题描述】:

这是我的代码。

if(!isset($_SESSION['user'])) header("Location: ../");
$username = $_SESSION["user"];
$id = $_SESSION["id"];

$nume=$_POST["nume"];
$prenume=$_POST["prenume"];
$telefon=$_POST["telefon"];
$email=$_POST["email"];
$adresa=$_POST["adresa"];
$ziNastere=$_POST["ziNastere"];
$poza=$_POST["poza"];

include('../conn2.php');

mysql_query("UPDATE $username SET nume=$nume,prenume=$prenume,telefon=$telefon,email=$email,adresa=$adresa,ziNastere=$ziNastere,poza=$poza
WHERE id=$id");

mysql_select_db($username);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";

if(isset($_SESSION['id']))  unset($_SESSION['id']);
//header("Location: ../home");
mysql_close($con);
?>

我想用字符串更新数据库“$username”:$nume、$prenume、$telefon... 但是当我点击保存时它返回"Error: Query was empty" - 这是为什么?

【问题讨论】:

标签: mysql exception


【解决方案1】:

你还没有定义可验证的 $sql

  $sql = "UPDATE $username SET nume=$nume,prenume=$prenume,telefon=$telefon,email=$email,adresa=$adresa,ziNastere=$ziNastere,poza=$poza
    WHERE id=$id"
mysql_select_db($username);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";

if(isset($_SESSION['id']))  unset($_SESSION['id']);
//header("Location: ../home");
mysql_close($con);
?>

【讨论】:

  • 现在它返回“无法更新数据:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在 '@gmail.com,adresa 附近使用正确的语法=Moldova,ziNastere=05.02.1992 WHERE id=1' at line 1 "
  • @AlexBolboşenco :取决于您的列类型(我希望是 varchar),您的数据需要用 ' 括起来,并且您应该使用 mysql_real_escape_string 来转义您的查询或使用 PDO 更好地参数化查询。
猜你喜欢
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 2020-11-05
  • 2018-06-22
  • 2020-01-12
  • 2016-01-01
相关资源
最近更新 更多