为啥mysql_query需要一个变量来执行?

Posted

技术标签:

【中文标题】为啥mysql_query需要一个变量来执行?【英文标题】:Why does mysql_query need a variable to execute?为什么mysql_query需要一个变量来执行? 【发布时间】:2013-07-09 23:20:03 【问题描述】:

当我使用此代码时,一切正常。但是当我删除“$enterLocation =”时,代码没有被执行,我不明白为什么。有什么想法吗?

$sql_location = "INSERT INTO location (lat, prov, lon, acc) VALUES ('$jsonLocation[lat]', '$jsonLocation[prov]', '$jsonLocation[lon]', '$jsonLocation[acc]')";
$enterLocation = mysql_query($sql_location) or die("Failure!");

PS:我知道首选方法是使用 mysqli_query 甚至 PDO-stuff,我稍后可能会实施,但我偶然发现了这一行,想知道为什么它不能按预期工作。

【问题讨论】:

mysql_query 仍然会被执行,即使你没有将结果分配给任何东西。 我建议不要使用 mysql_query() 并考虑使用 mysqli 或 PDO - php.net 上有大量文档 【参考方案1】:

你可以像这样简单地使用它

mysql_query("INSERT INTO location (lat, prov, lon, acc) VALUES ('$jsonLocation[lat]', '$jsonLocation[prov]', '$jsonLocation[lon]', '$jsonLocation[acc]')") or die("Failure!");

你不需要使用变量

你可能想使用 pdo 它会像这样工作:

 $db->query("INSERT INTO location (lat, prov, lon, acc) VALUES ('$jsonLocation[lat]', '$jsonLocation[prov]', '$jsonLocation[lon]', '$jsonLocation[acc]')")

它更好、更快、更容易,您可以在学习 PDO 上找到帮助 PHP Official Site

【讨论】:

以上是关于为啥mysql_query需要一个变量来执行?的主要内容,如果未能解决你的问题,请参考以下文章

php函数mysql_query批量执行多句sql语句

为啥我需要一个局部变量来将 SqlParameter 中的值从 Ajax 存储到 WCF 方法

为啥我的环境变量里面找不到classpath?

为啥我需要显式分离短期变量?

java中为啥说静态方法先执行?

为啥将我的 SQL 查询合并为一个不起作用? [复制]