我正在尝试使用php连接到数据库,但出现500个服务器错误。
<?php
session_start();
$db = new mysqli("localhost", "username", "password", "db_name") or
die("ERROR!!!");
$sql = "SELECT forum_id, forum_name FROM forum_tabl";
if($query = $db->prepare(sql)){
$query = bind_result($f_id, $f_name);
$query->execute();
}else{
echo $db;
}
?>
答案 0 :(得分:0)
使用bind_result()之前必须先执行查询
<?php
session_start();
$db = new mysqli("localhost", "username", "password", "db_name") or
die("ERROR!!!");
$sql = "SELECT forum_id, forum_name FROM forum_tabl";
if($query = $db->prepare(sql)){
$query->execute();
$query = bind_result($f_id, $f_name);
}else{
echo $db;
}
?>
答案 1 :(得分:0)
您应该检查/尝试的几件事
1)您的服务器已启动并正在运行(Apache或您正在使用的任何服务器)
2)远程mysql拥有试图连接数据库的设备IP的权限
3)在$sql = "SELECT forum_id, forum_name FROM forum_tabl";
例如:$sql = "SELECT forum_id, forum_name FROM forum_tabl WHERE something=?";
4)检查您的变量-例如在此行中-
$sql = "SELECT forum_id, forum_name FROM forum_tabl";
forum_tabl
可能是forum_table
除此之外,这里还有一些更干净的代码供您使用。希望它能起作用。
这是一个 config.php 文件,您可以将该文件包含在需要使用数据库的其他php页面中:
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'your_username');
define('DB_PASSWORD', 'your_password');
define('DB_DATABASE', 'your_db');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
最终,所有其他.php
:
<?php
include("config.php");
$stmt = $db->prepare("SELECT forum_id, forum_name FROM forum_tabl WHERE something=?");
$stmt->bind_param("s", $something);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows === 0) exit('No rows');
while($row = $result->fetch_assoc())
{
$forum_id = row['forum_id'];
.......
}
?>
希望这会有所帮助。