2010-08-27 5 views
1

Может кто-нибудь помочь мне с моим скриптом? Предполагается, что он прочитает сеанса пользователя, найдите соответствующую строку и повторите ее. Но когда он запускается, он ничего не выводит.PHP/MySQL - получение строки из базы данных

<?php 

//Start session 
session_start(); 

//Make sure user is logged in 
require_once('auth.php'); 

//Include database connection details 
require_once('config.php'); 

//Connect to DB 
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
if(!$link) { 
die('Failed to connect to server: ' . mysql_error()); 
} 

//Select database 
$db = mysql_select_db(DB_DATABASE); 
if(!$db) { 
die("Unable to select database"); 
} 

//Create Querys 
$query = "SELECT * FROM stats WHERE member_id='" . $_SESSION['SESS_MEMBER_ID'] . "' "; 
$result = mysql_query($query); 

//Gather the whole row into an array 
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo $row;  
} 

?> 

ответ

3

echo mysql_num_rows($result); Опускаем сразу после mysql_query линии, и посмотреть, если у Вас есть какие-либо результаты, возвращаемые из запроса - я подозреваю, что вы найдете у вас нет, и в этом случае SESS_MEMBER_ID нет в таблица статистики.

+0

Opps, я понял. Глупая ошибка. – user377419

1
  1. Использование PDO вместо mysql_*() функции
  2. $row массив так вторя бессмысленно: PHP arrays, var_dump()
  3. Убедитесь, что SQL-запрос возвращает ничего. Может быть, $_SESSION['SESS_MEMBER_ID'] получил неожиданное значение?
  4. ли основную отладку всякий раз, когда что-то идет не так - свалить все:

    var_dump($query); 
    var_dump($result); 
    var_dump($_SESSION); 
    

    Или еще лучше: использовать реальный отладчик.

  5. Убедитесь, что отображается каждая возможная ошибка - PHP очень странный язык, который принимает тональные сигналы ошибок и по-прежнему могут работать:

    error_reporting(-1); 
    ini_set('display_errors', 'on'); 
    

Кстати: Что такое точка SESS_ приставкой для сессии переменные?

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