PHP пытается подключиться к базе данных - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь подключиться к базе данных с помощью 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 голосов
/ 20 марта 2019

Несколько вещей, которые вы должны проверить / попробовать-

1) Ваш сервер запущен и работает (apache или любой другой используемый вами сервер)

2) Удаленный mysql имеет разрешение для IP-адреса устройства, которое пытается подключиться к базе данных

3) Добавить предложение "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'];
        .......
    }
?>

Надеюсь, это поможет.

0 голосов
/ 20 марта 2019

Вы должны выполнить запрос, прежде чем использовать 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;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...