2010-04-07 2 views
1

Вот моя ошибка:MySQL Ошибка параметра ресурса

Предупреждение: mysql_query() ожидает параметр 2 будет ресурс, нуль дано ...

Это относится к строке 23 моего кода, который является:

$result = mysql_query($sql, $connection) 

Мой весь код запроса выглядит следующим образом:

$query = "SELECT * from users WHERE userid='".intval($_SESSION['SESS_USERID'])."'"; 
       $result = mysql_query($query, $connection) 
       or die ("Couldn't perform query $query <br />".mysql_error()); 

       $row = mysql_fetch_array($result); 

Я не имею понятия, что имеет happpene d здесь. Все, что я хотел сделать, это иметь значение полного имени пользователя, отображаемого в разделе заголовка моей веб-страницы. Поэтому я выводя этот код сразу же после того, как попытаться достичь этого:

echo 'Hello '; echo $row['fullname']; 

До этого изменения, я его прекрасно работает, где переменная сессии FULLNAME вторит $ _SESSION [ «SESS_NAME»]. Однако, поскольку мой пользователь может обновить свою информацию (включая их имя), мне нужно, чтобы имя, отображаемое в заголовке, обновлялось соответствующим образом, а не отображало значение сеанса.

+0

возможно дубликат [Warning: mysql_fetch_ * ожидает параметр 1, чтобы быть ресурсом, логический данная ошибка] (http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects-parameter-1 -to-be-resource-boolean-given-error) –

ответ

3

Ваша $connection переменная NULL вот что ваше сообщение об ошибке имеет отношение.

Причина в том, что вы не звонили mysql_connect. После того, как он называется, он назначит вам ресурс, где вы можете установить его в переменную $connection, тем самым являясь непустым.

В качестве примера:

$connection = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
// now $connection has a resource that you can pass to mysql_query 
$query = "SELECT * from users WHERE userid='". 
             intval($_SESSION['SESS_USERID'])."'"; 
$result = mysql_query($query, $connection) 
+0

Спасибо, я не понимал, что мне нужно подключение, потому что, прежде чем я просто использовал сеанс для извлечения данных ... но теперь с информацией, поступающей из базы данных, Я просто сделал Yvonne

+0

Не проблема, в любое время, рад, что я мог бы помочь. –

0

У вас есть два способа сделать это, вам нужно использовать mysql_connect для подключения к базе данных, вы можете передать это mysql_query, если вы хотите, если вы ничего не перейти к mysql_query PHP использует последнее соединение, открытое с mysql_connect

$conn = mysql_connect("localhost", "mysql_user", "mysql_password"); 

$sql = "SELECT id as userid, fullname, userstatus 
     FROM sometable 
     WHERE userstatus = 1"; 

$result = mysql_query($sql); 

Подключиться к вашей базе данных? Если это так, пожалуйста, покажите этот код.

сейчас, просто попробуйте удалить переменную $connection, как это:

$result = mysql_query($query); 

И посмотреть, где что получает вас.

0

$ соединение присваивается значение идентификатора соединения с базой данных ресурсов. У вас этого нет в вашем скрипте, поэтому значение $ connection равно NULL, и именно поэтому вы получаете ошибку. Перед использованием mysql_query() необходимо подключиться к базе данных. После этого вы должны быть в порядке.

0

Вам нужно сделать:

$connection=mysql_connect('host','user','pass'); 
if($connection === false) { 
echo "Error in connection mysql_error()"; 
} 
1

включают MySQL соединений на файл класса, например:

соединения/mysql.php

<? 
$hostname_MySQL = "localhost"; 
$database_MySQL = "database"; 
$username_MySQL = "user"; 
$password_MySQL = "password"; 

$MySQL = mysql_pconnect($hostname_MySQL, $username_MySQL, $password_MySQL) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_MySQL,$MySQL); 
?> 

класс.PHP

<? 
include "Connections/MySQL.php"; 
class utils { 
    public function myFunction() 
     { 
     global $MySQL; 
     $sql = "select * from table"; 
     $rs = mysql_query($sql, $MySQL) or die(mysql_error()); 
     $filas = mysql_fetch_assoc($rs); 
     $totalFilas = mysql_num_rows($rs); 
     ... 
     } 
    } 
?> 
Смежные вопросы