<html>
<body>
<?php
$host = 'localhost';
$user = 'users';
$pw = '';
$db = '#######';
$connect = mysql_connect($host,$user,$pw)
or die ("Could not connect.");
mysql_select_db($db);
$sql = mysql_query("INSERT INTO users VALUES ('','l','l','l','l','l','l')");
if(mysql_query($sql)){
print "Item added successfully.<br/>";
}
else{
print "Item addition failed.<br/>";
}
?>
</body>
</html>
我试图将这些值插入到我的数据库中users
但是当我运行代码时它继续说“项目添加失败”但我不确定为什么,数据库没有问题连接,因为我已经测试过,我不确定我的插入查询有什么问题?
答案 0 :(得分:3)
您的代码中存在一些问题。首先,你做两次查询。其次,你确定你的数据库名称是$ db ='#######';将其更改为正确的名称。
要检查查询是否正常以及是否添加了行,请使用 mysql_affected_rows()检查错误,使用 mysql_error()
同时将您的sql引擎更改为 PDO 或 mysqli 哪个更好。
请注意,Mysql_ *函数已被删除。这就是为什么我给你举例说明如何在PDO中使用数据库连接。
<?php
$host = 'localhost';
$user = 'users';
$pw = '';
$db = '#######'; //CHANGE IT TO PROPER NAME WHERE TABLE users IS!
$connect = mysql_connect($host,$user,$pw)
or die ("Could not connect.");
mysql_select_db($db);
$sql = mysql_query( "INSERT INTO users VALUES('' ,'l','l','l','l', 'l','l')") or die(mysql_error());
if(mysql_affected_rows()>0)
echo "Item added successfully.<br/>";
else
echo "Item addition failed.<br/>";
?>
如果您仍然了解它会帮助您,我会给您一个适当的示例如何使用PDO原因:)
PDO示例
<?php
$dsn = 'mysql:dbname=YOUR_DB_NAME;host=localhost';
$user = 'users';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
$count = $dbh->exec("INSERT INTO users VALUES('' ,'l','l','l','l', 'l','l');");
echo $cout ? "Item added successfully" : "Item addition failed";
} catch (PDOException $e) {
echo 'Failed: ' . $e->getMessage();
}
?>
插入值的安全且好的方法是使用预准备语句。 要创建预准备语句,请使用
$stmt = $dbh->prepare("INSERT INTO users (name, email) VALUES(?,?)");
$stmt->execute( array('user', 'user@example.com'));
答案 1 :(得分:1)
您正在使用mysql_query
两次。将您的代码更改为:
$sql = "INSERT INTO users VALUES ('' ,'l','l','l','l', 'l','l')";
答案 2 :(得分:1)
尝试这个。你的两次调用函数mysql_query()。 第二次你传递了result_set而不是查询。
<html>
<body>
<?php
$host = 'localhost';
$user = 'users';
$pw = '';
$db = '#######';
$connect = mysql_connect($host,$user,$pw)
or die ("Could not connect.");
mysql_select_db($db);
$sql = mysql_query( "INSERT INTO users
VALUES('' ,'l','l','l','l', 'l','l')");
if($sql){
print "Item added successfully.<br/>";
}
else { print "Item addition failed.<br/>"; }
?>
</body>
</html>
答案 3 :(得分:1)
这应该可以帮助你调试,你应该调查PDO而不是......当然记得使用正确的凭据,我认为你已经删除它们以确保安全:-)
mysql_select_db($db);
$sql = mysql_query("INSERT INTO users VALUES ('','l','l','l','l','l','l')", $connect) OR die(mysql_error());
if($sql)
{
print "Item added successfully.<br/>";
}
else{
print "Item addition failed.<br/>";
}
?>