我有这样的代码不因某种原因MYSQL/PHP惯于更新
$con = mysql_connect("$server", "$user", "$pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('$db', $con);
// BLOCK 1
$supplier=$_POST["supplier"];
$supplierNowBalance =$_POST["supplierNowBalance"];
$supplierBalance=$supplierNowBalance - $supplier;
mysql_query("UPDATE inv SET balance='".$supplierBalance."' WHERE username='supplier' AND name='bingo'");
echo $supplierBalance;
// END OF BLOCK 1
一切之前和UPDATE语句作品后工作。我将更新语句复制到PHPMyAdmin,它更新得很好!我不明白。由于某种原因,PHP不运行mysql_query
几个技巧:我在程序中的这块代码很少,所以它通过所有的帖子和计算,并更新 我已经尝试了每种可能的组合为MySQL查询(有和没有的)
############### ANSWER_ _ __ _ __ _ __感谢您的回答,但我弄清楚了。显然PHP非常希望在连接字符串周围有双引号“”。 第6行,当我descrbed数据库变量
mysql_select_db('$db', $con);
我已经单身qoute,我把它改成双qoute然后砰一声,它的工作,感谢
mysql_select_db("$db", $con);
健全检查:'$水库=请求mysql_query (“UPDATE inv ....”);如果(!$ res)die(mysql_error());'如果没有死掉,那么检查'mysql_affected_rows($ res);'看看有多少行被更新。如果你有问题,它可能会产生0。顺便说一句,你很容易受到SQL注入代码的方式。在用户输入数据上使用'mysql_real_escape_string',并考虑切换到PDO或Mysqli,因为'mysql_ *'已被弃用。 – drew010 2012-08-07 23:16:36
您可能会失去*双引号*。 'mysql_select_db($ db,$ con);'工作都一样。 – 2012-08-07 23:44:31
为了进一步阐明Majid所说的话,PHP不是*绝望*有双引号,这是因为当你使用单引号时,你实际上告诉它使用数据库“美元符号,字母d,字母b”,它是可能不是数据库的名称。 – jprofitt 2012-08-08 00:02:43