PHP尝试连接到数据库

时间:2019-03-20 10:49:07

标签: php mysqli

我正在尝试使用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;
}
?>

2 个答案:

答案 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";

中添加“ WHERE”子句

例如:$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'];
        .......
    }
?>

希望这会有所帮助。