[英]Updating with multiple variables with MySQL + PHP
我有2个包含一个文本字符串的变量。 我需要在表中更新它们,但是在我尝试的大约5种不同脚本的20种不同版本中,它只是没有更新!
我可以使用此更新:
mysql_query("UPDATE cart SET quantity = $q WHERE sessionid='" .session_id(). "' AND description = '$d'") or die(mysql_error());
但是我现在在另一个页面上工作,我需要一个稍微不同的更新查询。 这是:
UPDATE cart SET quantity = $q WHERE sessionid = $somethin AND description = $desc
为此,我有:
mysql_query("UPDATE cart SET quantity = $q WHERE sessionid = $o AND description = $d") or die(mysql_error());
(对于上面的查询,我在不同的地方尝试了很多使用不同引号的变体,但是没有任何效果!)
我也尝试过:
$conn = mysql_connect("my01..com", "dbase", "2354ret345ert");
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'UPDATE cart
SET quantity="'.$q.'"
WHERE sessionid="$o" AND description = "$d"';
mysql_select_db('mysql_94569_dbase');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
最后一个没有显示任何错误,实际上,它甚至告诉我它已成功更新! 但是它在说谎。 它没有更新任何东西。
有人可以在这里帮我吗,我真的很讨厌在忙碌之后阅读教程,却从不学习任何东西,因为它们都有不同的语法,而且似乎都不起作用。
我想做的是:
UPDATE table SET columnname = $this WHERE thiscolumn = $this AND thiscolumn = $that
$this = $var
谢谢
您缺少描述和SessionID中的引号,请执行以下操作:
mysql_query("UPDATE cart
SET quantity = '".$q."'
WHERE sessionid = '".$o."' AND description = '".$d."'");
不好:我在php中有这个查询:
$query = "UPDATE users SET username = ".$nume." WHERE id = ".$userID;
这样做的SQL:
UPDATE users SET username = elev WHERE id = 2
良好:为了使其正常工作,我将其更改为以下php:
$query = "UPDATE users SET username = ".'"'.$nume.'"'." WHERE id = ".$userID;
这样做的SQL:
UPDATE users SET username = "elev" WHERE id = 2
为了避免造成混乱,我建议开始使用串联运算符(例如'UPDATE'。$ table。'SET ...'),而不是直接将变量写入字符串(例如“ UPDATE $ table SET ...”) 。 在这种情况下,您的查询将类似于:
mysql_query("UPDATE cart SET quantity = ".$q." WHERE sessionid='" .session_id(). "' AND description = '".$d."'") or die(mysql_error());
这可以帮助您更快地找到引号和括号中的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.