为什么这个SQL查询不起作用?

时间:2010-02-05 16:31:43

标签: php mysql select

此脚本必须在每次刷新时更新内容但不起作用。借给我一只手

$yp = mysql_query("select id from yyy where twitterid = '$tid'");

$qq = "update yyy set twitterid = '$tid', 
twitterkullanici = '$twk', 
tweetsayisi = '$tws', 
takipettigi = '$tkpettigi', 
takipeden = '$tkpeden', 
nerden = '$nerden', 
bio = '" . mysql_real_escape_string($bio) . "', 
profilresmi ='$img', 
ismi = '$isim' 
where id = '$yp'";
$xx = mysql_query($qq);

3 个答案:

答案 0 :(得分:3)

看起来你没有从变量$ yp中获取价值。

你需要做

$row = mysql_fetch_row($yp);

然后

id = '.$row[0] .'
更新查询中的

答案 1 :(得分:2)

$ yp - 是mysql_query(资源)的结果。你必须从数据库中读取id(mysql_fetch_array或mysql_fetch_row)。

$yp = mysql_query("select id from yyy where twitterid = '$tid'");
if ($yp)
{
   if ($row = mysql_fetch_array($yp,MYSQL_ASSOC))
   $id = $row["id"];
}

现在在WHERE子句中使用$ id。

答案 2 :(得分:0)

为了在PHP中更容易调试SQL,请在mysql_query之后添加以下内容(0调用。

mysql_query($qq) or die("A MySQL error has occurred.<br />Your Query: " . $qq. "<br /> Error: (" . mysql_errno() . ") " . mysql_error())

请确保在进入prod之前将其删除,因为它可以为尝试Sql Injection的任何黑客提供有用的信息。