我想知道是否有人输入了为什么这个语句没有插入我的MySQL数据库。它没有显示任何错误,当我手动输入SQL语句时,它会插入信息。
<?php
$host="mysql16.000webhost.com";
$user_name="a1611480_akaash";
$pwd="*****";
$database_name="a1611480_akaash";
$db=mysql_connect($host, $user_name, $pwd);
$sql = "INSERT INTO mydata VALUES ('dude1', 'dude2', 'dude3', 'dude4', 'dude5')";
mysql_query($sql);
?>
答案 0 :(得分:4)
这是因为mysql不知道该SQL语句使用哪个数据库。
包括mysql_select_db
。
mysql_select_db($database_name);
要在php(除了致命)中获取任何类型的错误,请使用try块
包含您的代码try{
// db code
}catch(Exception $e){
// something is wrong
echo "Oh God! I got this ". $e->getMessage();
}
答案 1 :(得分:2)
要查看错误,请执行以下操作:
mysql_query($sql) or die("Error:".mysql_error());
从您的查询中我假设您有一列,并且您想要添加多个值 所以这可能是格式:
$sql = "INSERT INTO mydata VALUES
('dude1'), ('dude2'), ('dude3'), ('dude4'), ('dude5);";
答案 2 :(得分:0)
那是因为你没有提到列名 - 见http://www.w3schools.com/php/php_mysql_insert.asp 你也忘了选择数据库 - mysql_select_db(“my_db”);
所以你的查询必须是“INSERT INTO mydata(column1,column2,column3,column4,column5)VALUES('dude1','dude2','dude3','dude4','dude5')” ;
编辑:当然科里是对的。我认为这只是一种更好的做法 - 我总是这样做:)
答案 3 :(得分:0)
您正在连接远程主机,您确定自己有权这样做吗?这段代码在哪里执行?
输出mysql_error()
的结果会很有用!