MySQL INSERT语句未执行

时间:2016-05-23 22:05:57

标签: php mysql sql-insert

我不能因为上帝的爱而弄清楚为什么这句话没有执行。当我将其限制为

mysql_query("INSERT INTO my_pets() VALUES ()", $con);

它触发得很好,创建一个空行(每个单元格中都为NULL),但只要我给它列和值,它就会拒绝。见下文。

有人指出错误或任何其他原因在指定列和值时这个(貌似)正确的代码没有触发吗?

物业:

  • $ h,$ un,$ pw和$ db都很好,因为我从我们说话的文件中复制了它。
  • 列名称的大写/小写字符等没有拼写错误或错误。

代码:

<?php

session_start();

$h="...";      // Host name
$un="...";     // Mysql username
$pw="...";     // Mysql password
$db="...";     // Database name

$con = mysql_connect("$h", "$un", "$pw")or die("cannot connect"); 
mysql_select_db("$db")or die("cannot select DB");

$name = "Pip";
$gender = "F";
$species = "Dog";

mysql_query("INSERT INTO my_pets (name, gender, species) VALUES ('$name', '$gender', '$species')", $con);

mysql_close($con);

?>

1 个答案:

答案 0 :(得分:1)

PHP Documentation获取,如果您使用的是PHP 7.0.0,则mysql_query将不再有效:

警告 此扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括: mysqli_query() PDO ::查询()

关心的人的好/重要提示:此功能不应用于任何将来的代码,应替换为现有代码,因此我建议您更改为PDO。