2010-02-22 2 views
1

это сводит меня с ума, почему не результаты показывают ???php mysql connection не показывает результаты, почему

function runSQL($rsql) { 

    $connect = mysql_connect('localhost','xxx','xxx') or die ("Error: could not connect to database"); 
    $db = mysql_select_db('xxx'); 

    $result = mysql_query($rsql) or die ("Error in query: $query. " . mysql_error()); 

    return $result; 
    mysql_close($connect); 
} 

$rsql = "SELECT * FROM subscriptions WHERE subscriptionID = 6 "; 
runSQL($rsql); 
$row = mysql_fetch_array($result); 
echo $row['subscription']; 
mysql_free_result($result); 
+0

Я добавил исходное форматирование; не стесняйтесь возвращаться, если вам это не нравится. – Piskvor

ответ

3

Вы не обработали свой результат ...

Вы называете вашу функцию (runSQL) для выполнения запроса и возвращает результирующий набор, но вы не поймать ResultSet работать с ним ,

Используйте $result = runSQL($rsql); вместо runSQL($rsql);.

Также обратите внимание, что код mysql_close($connect); никогда не вызывается в вашем коде, он недостижим, так как сначала происходит возврат.

+1

Также поддерживайте соединение с MySQL открытым, не открывайте и не закрывайте для каждого запроса. – Piskvor

0

Если вы закрываете соединение перед выполнением mysql_fetch_(assoc|array|etc), эти функции, скорее всего, не удастся. Соединение не должно закрываться, пока вы не будете взаимодействовать с базой данных, включая чтение данных.

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