2014-10-12 6 views
-1

Я пытаюсь преобразовать мой PHP MySQL в Mysqli и у меня возникают проблемы со следующей функцией:PHP MySQL для Mysqli ошибки

function postex() 
{ 
    do { 
    $random_string = generateRandomString(5); 
} while (mysql_num_rows(mysql_query('SELECT 1 FROM `posts` 
      WHERE `postid` = "' . $random_string . '"'))); 
    return $random_string; 
} 

Как я могу преобразовать следующую функцию, чтобы Mysqli?

Когда я пытаюсь:

function postex() 
{ 
    do { 
    $random_string = generateRandomString(5); 
} while 
(
     $conn->query('SELECT 1 FROM posts 
      WHERE postid = "' . $random_string . '"')->num_rows 
); 

Это дает следующее сообщение об ошибке,

PHP Fatal error: Call to a member function query() on a non-object in.....

Как я могу преодолеть это?

+2

Это проблема с объемом. –

ответ

3

$conn недоступен вашей функции, так как он выходит за рамки. Вам нужно передать его как параметр этой функции, чтобы он был доступен.

function postex($conn) 
{ 
    do { 
    $random_string = generateRandomString(5); 
} while 
(
     $conn->query('SELECT 1 FROM posts 
      WHERE postid = "' . $random_string . '"')->num_rows 
); 
} 

postex($conn); 
+0

Мои настроения ровно;) –

+0

@john conde глупо мне полностью пропустил это, спасибо :) – rksh

+0

@rksh Mark как решено затем ** http: //meta.stackexchange.com/a/5235/** –

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