簡體   English   中英

PHP 嘗試連接到數據庫

[英]PHP trying to connect to a database

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

在使用 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) 您的服務器已啟動並正在運行(apache 或您正在使用的任何服務器)

2) 遠程 mysql 對嘗試連接數據庫的設備的 IP 有權限

3) 在$sql = "SELECT forum_id, forum_name FROM forum_tabl";添加“WHERE”子句$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'];
        .......
    }
?>

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM