if (! $con)
{
echo 'Could not CONNECT';
}
echo 'Connected to Database';
$sql="INSERT INTO Persons VALUES 'Struan' , 'Smith', 13)";
mysql_query($con, $sql);
mysql_close($con);
?>
输出是:
警告:mysql_query():提供的参数不是第18行/home/www/struansmith.info/index.php中有效的MySQL-Link资源
答案 0 :(得分:5)
我注意到您编辑了代码(from your original question)。
改变这个:
$sql="INSERT INTO Persons VALUES 'Struan' , 'Smith', 13)";
mysql_query($con, $sql);
mysql_close($con);
为:
$sql="INSERT INTO `Persons` VALUES ('Struan' , 'Smith', 13)";
mysql_query($sql,$con);
mysql_close($con);
使用$con
函数时, mysql_*
结束。另外,您的VALUES缺少一个(
括号。
您的代码存在一些问题。
结尾处缺少一个分号:
mysql_query($con,"INSERT INTO Persons ( VALUES ("Struan" , "Smith", 13)")
(并移除了VALUES前面的(
),您使用双引号而不是VALUES
的单引号。
替换为:
mysql_query("INSERT INTO `Persons` VALUES ('Struan', 'Smith', 13)", $con);
使用不推荐使用的$con
函数时, Plus mysql_*
会结束。
将mysqli_*
与预备语句或PDO一起使用。
请参阅INSERT功能的MySQL手册:
- http://dev.mysql.com/doc/en/insert.html
如果您仍然热衷于使用(已弃用的)mysql_*
函数,请访问Tizag.com,这是一个相当不错的网站。
请考虑使用prepared statements或PDO切换至mysqli_*
个功能。
答案 1 :(得分:3)
" "
string starts here .... string ends here
和明显的语法高亮提示......颜色看起来不正确,是吗?
您可以将\"
与双引号字符串一起使用。但更喜欢对mySQL查询使用单引号值。
注意:下一个编译错误将是缺少分号。然后是运行时问题,因为参数的顺序不正确:
resource mysql_query ( string $query [, resource $link_identifier = NULL ] )