我想更新数据库中的一行。此数据库中只有一行,此阶段不会添加其他行。
我正在使用这个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);
?>
我知道这是愚蠢但真的在这里打击
答案 0 :(得分:2)
查看mysql中的UPDATE语法。
UPDATE avis_credits SET credits = 'your_value'
观看
请不要再使用mysql_ *函数了。切换到mysqli_ 功能或PDO。不推荐使用mysql _ - 函数,不支持&gt; = PHP 5.5。
答案 1 :(得分:0)
回复你的$sql
,看看它是什么样的。我的猜测是,根据显示的错误,值只是空的,总是快速调试。
答案 2 :(得分:0)
您不应该使用已弃用的mysql_ *函数。
您的SQL不正确。
"UPDATE avis_credits set credits = '$_UPDATE[credits]'";
如果你可以使用PDO或mysqli。
答案 3 :(得分: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查询时,您必须始终使用它来解决要更改的行,请注意