Can';在php中不能连接到数据库
我有一个数据库运行在我的服务器与phpmyadmin,但我不能连接它。以下是一个例子:Can';在php中不能连接到数据库,php,sql,database,Php,Sql,Database,我有一个数据库运行在我的服务器与phpmyadmin,但我不能连接它。以下是一个例子: $user_name = "xxxxx"; $password = "xxxxx"; $database = "xxxxx"; $host = "db.xxxx.nl"; $db_handle = mysql_connect($host, $user_name, $password); $db_found = mysql_select_db($database); 但这似乎不起作用。如果我尝试向表中插入一
$user_name = "xxxxx";
$password = "xxxxx";
$database = "xxxxx";
$host = "db.xxxx.nl";
$db_handle = mysql_connect($host, $user_name, $password);
$db_found = mysql_select_db($database);
但这似乎不起作用。如果我尝试向表中插入一些值,它仍然保持为空
$sql = "INSERT INTO tbl_forum
(
title,
name,
content,
lastname,
post_image
)
VALUES
(
'{$_POST['contactsubject']}',
'{$_POST['contactname']}',
'{$_POST['contactmessage']}',
'{$_POST['contactlastname']}',
'{$_FILES["contactBrowse"]["name"]}'
)";
我做错什么了吗?我认为最后一个值
{$\u FILES[“contactBrowse”][“name”]}
有问题。尝试此操作,并在准备(echo$sql;
)以自行调试后获取sql
$file_name = $_FILES["contactBrowse"]["name"];
$sql = "INSERT INTO tbl_forum
(
title,
name,
content,
lastname,
post_image
)
VALUES
(
'{$_POST['contactsubject']}',
'{$_POST['contactname']}',
'{$_POST['contactmessage']}',
'{$_POST['contactlastname']}',
'{$file_name}'
)";
我要完全重写你的代码。由于您对PHP中的数据库非常陌生,因此绝对没有理由不使用新的
mysqli
API
你的连接应该是这样的
$mysqli = new mysqli($host,$user_name,$password,$database);
if ($mysqli->connect_errno) echo "Failed to connect to MySQL: " . $mysqli->connect_error;
这将创建一个名为$mysqli
的新数据库对象(或者您可以随意调用它,例如$db
)
然后可以准备SQL语句并执行它。在下面的代码中,我们有5个参数,它们在SQL中表示为?
,然后我们将变量绑定到这5个参数。bind_param
中的第一个参数告诉API这5个参数是5个字符串(因此s
x5)。对于整数,使用i
if($query = $mysqli->prepare("INSERT INTO tbl_forum (title,name,content,lastname,post_image) VALUES (?,?,?,?,?)")) {
$query->bind_param('sssss',$_POST['contactsubject'],$_POST['contactname'],$_POST['contactmessage'],$_POST['contactlastname'],$_FILES["contactBrowse"]["name"]);
$query->execute();
}
else {
echo "Could not prepare SQL: " . $mysqli->error;
}
假设您的所有连接信息都正确,这将根据需要将您的信息插入数据库
希望这有帮助。put
或die(mysql_error())代码>在查询结束时。它告诉了你什么?此外,如果你有最新的PHP,那么就使用mysqli。因为mysql现在不推荐使用。您是否确实从$sql
字符串运行了查询?mysql也已经过时了。使用更现代的教程搜索准备好的语句Danger:您正在使用并且应该使用。您还容易受到现代API的影响,因为它会使您更容易使用。您的示例中有一个语法错误。在数据库中输入的最后一个值上,应该有$\u文件['contactBrowse']['name']
,而应该有$\u文件['contactBrowse'][“name”]
。