2014-10-23 3 views
1

Я пытаюсь проверить вывод данных из таблицы базы данных, используя phpmyadmin в php. По какой-то причине он не работает, хотя ошибок не было. Что я здесь делаю неправильно?Попытка вывода базы данных mysql в php

Вот фотография моей базы данных:

database

Примечание: Эта база данных заполнен поддельной информацией, не используются адреса реальной электронной почты.

Вот мой код:

<?php 

    include "cs234DbConnect.inc.php"; 

    $dbc = mysqli_connect(DBHOST, DBUSER, DBPWD, DBNAME); 
    $error = mysqli_connect_error(); 
    if($error != null){ 
     $output= "<p> Unable to connect to database<p>" . $error; 
     exit($output); 
    } 


    $query = mysqli_query($dbc, "SELECT * FROM site7_customers WHERE FirstName = 'Leonie'") or die(mysqli_error($dbc)); 

    while($rows = mysqli_fetch_array($query)){ 
     $FirstName = $rows['FirstName']; 
     $LastName = $rows['LastName']; 
     $Email = $rows['Email'] 


     echo "$FirstName $LastName<br>$Email<br><br>"; 

    } 
    mysqli_close($dbc); 


    ?> 

Вот как я подключении:

<?php 
    /* File: cs234DbConnect.inc.php 
    */ 
    define('DBNAME', 'mtingle'); 
    define('DBHOST', 'localhost'); 
    define('DBUSER', 'mtingle'); 
    define('DBPWD'', 'mypassword'); 

    define('DBCONN', 'mysql:host=' . DBHOST . ';dbname=' . DBNAME); 
    ?> 

Спасибо заранее.

+0

Я прокомментировал ваш ответ и сказал, что я изменил приведенный выше код, чтобы показать его. – tonnor22

+2

Вы должны всегда делать «редактирование» и отмечать его как «редактирование» при изменении вопроса, сохраняя неповрежденный исходный вопрос/код. Люди увидят мой ответ и скажут: «Нет ничего плохого в коде OP». –

+0

О, извините. – tonnor22

ответ

3

По состоянию на your originally posted question/code должно быть интересно.

Причина в том, что вы не подключаетесь к вашему запросу.

$query = mysqli_query("SELECT... 

отсутствует $dbc переменная связи с ней.

сделать

$query = mysqli_query($dbc,"SELECT... 

Использовав

or die(mysqli_error($dbc)) к mysqli_query() бросили бы вам ошибку.

Edit: после вывесили ваш cs234DbConnect.inc.php содержание

Удалить define('DBCONN', 'mysql:host=' . DBHOST . ';dbname=' . DBNAME); из внутри файла, то есть синтаксис PDO.

и define('DBPWD'', 'mypassword'); (дополнительная цитата)

к define('DBPWD', 'mypassword');

вы пропустили точку с запятой в конце $Email = $rows['Email']

Спасибо Меда.


Plus, используя свой нынешний метод открыт для инъекции SQL, use prepared statements или PDO with prepared statements, они намного безопаснее.

Плюс, эта недостающая полуколока должна была произвести ошибку синтаксического анализа.

Добавьте error reporting в начало файла, в котором будут найдены ошибки.

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

Sidenote: Сообщения об ошибках не должно быть сделано только в постановке, и никогда производства.

+0

Я отредактировал мой код выше, но я все еще не получаю ошибок при запуске на localhost, не зная причины. – tonnor22

+0

О, прекрасное, вы изменили свой вопрос после того, как я отправил ответ. @ tonnor22 показать мне, что внутри 'include 'cs234DbConnect.inc.php"; 'и как вы определяете' (DBHOST, DBUSER, DBPWD, DBNAME) '? Плюс какие ошибки? –

+0

Я отредактировал сообщение, чтобы указать, как я его определил. У меня нет ошибок, просто пустая страница. – tonnor22

Смежные вопросы