В чем разница между mysql_query () и mysql_result ()? - PullRequest
0 голосов
/ 29 мая 2011

Я не уверен, должен ли я использовать mysql_result() или mysql_query() при выполнении запроса к базе данных. Имеет ли это значение в случае ниже?

$usertable = 'tableName';
$colName    = 'columnA'; 
$xlookup = 'columnB';

// Connect to Server
$con = mysql_connect($hostname, $username, $password);

// select db
mysql_select_db($dbname);

// run query
$result = mysql_query("SELECT $colName FROM $usertable where $xlookup = 5");

// pass results to webpage
$a = 51;
$x = array($a, $a, mysql_result($result));
echo json_encode($x);

В настоящее время, использую я это или нет, не имеет значения, поскольку ни одна из них не работает, но я думал, что ошибка остановит выполнение кода.


Я пытался использовать приведенный ниже код для выявления любых ошибок, но не уверен, является ли он правильным или нет.

// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die("<html><script language='JavaScript'>alert('Unable to run query'), $message</script></html>");
}

Ответы [ 3 ]

4 голосов
/ 29 мая 2011

mysql_query выполняет запрос и возвращает набор результатов.

mysql_result возвращает строки из этого набора результатов, с которыми можно поиграть.

Посмотрите некоторые примеры здесь .

mysql_result имеет возможность возвращать определенные поля, но, как заметил другой автор, медленнее, чем другие функции извлечения.

2 голосов
/ 29 мая 2011

Это разные функции.mysql_query выполняет запрос (строку) и возвращает объект ресурса, который можно использовать для получения информации.mysql_result - это одна из вспомогательных функций, которая позволяет вам получать эти данные из ресурса.Так что вам понадобятся оба.

Или, на самом деле, вам это не нужно.После того, как вы использовали mysql_query, вы можете использовать другие функции, например mysql_fetch_row, для получения данных.Большинство из этих функций работают лучше и эффективнее, чем mysql_result.

2 голосов
/ 29 мая 2011

mysql_query и mysql_result - две совершенно разные функции, которые делают совершенно разные вещи.

mysql_query отправляет запрос SQL в базу данных.

mysql_result получает значение из результата запроса в соответствии с его номером строки (и, необязательно, номером столбца, по умолчанию равным нулю).

Тем не менее, вы должны использовать mysql_fetch_row, если вы собираетесь использовать более одного элемента данных для каждой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...