0

我想更新我的数据库中的一行。此数据库中只有一行,在此阶段不会添加其他行。

我正在使用这个 PHP 代码,但它没有更新值给我错误:

错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '(credits) VALUES ('')' 附近使用正确的语法

这是我的代码

 <?php
 $con = mysql_connect("localhost","stingin_epanic","****");
 if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

  mysql_select_db("stingin_epanic", $con);

  $sql="UPDATE avis_credits (credits)
  VALUES
 ('$_UPDATE[credits]')";

  if (!mysql_query($sql,$con))
   {
   die('Error: ' . mysql_error());
   }
 echo "Number added thank you";

 mysql_close($con);

 ?>

我知道这很愚蠢,但在这里真的很吵

4

4 回答 4

2

看看 mysql 中的UPDATE语法。

UPDATE avis_credits SET credits = 'your_value'

小心

请不要再使用 mysql_* 函数。切换到mysqli_函数或PDO。mysql_ - 函数已被弃用,>= PHP 5.5 将不再支持。

于 2013-07-30T16:06:17.157 回答
0
<?php
$dsn = "mysql:host=localhost;dbname=stingin_epanic;charset=utf8";
$opt = array(
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn,'stingin_epanic','', $opt);

$sql = "UPDATE avis_credits SET credits = ? WHERE some_id = ?";
$stm = $pdo->prepare($sql);
$stm->execute(array($_POST['credits'], $_POST['id']));

假设你有 $_POST,而不是任何 $_UPDATE

注意 WHERE 部分。使用 UPDATE 查询,您必须始终使用它来处理要更改的行,请注意

于 2013-07-30T16:11:06.657 回答
0

您不应该使用已弃用的 mysql_* 函数。

您的 SQL 不正确。

"UPDATE avis_credits set credits = '$_UPDATE[credits]'";

如果可以使用 PDO 或 mysqli。

于 2013-07-30T16:07:55.840 回答
0

回声你的$sql,看看它是什么样子。我的猜测是,根据显示的错误,这些值只是空的,总是快速调试。

于 2013-07-30T16:06:21.283 回答