Функции за работа с MySQL
PHP Manual

mysql_query

(PHP 4, PHP 5)

mysql_queryИзпраща заявка към MySQL

Описание

resource mysql_query ( string $query [, resource $link_identifier ] )

mysql_query() изпраща единична заявка (множество заявки не се поддържат) към текущо активната база от данни на сървъра, която е асоциирана с указания link_identifier .

Параметри

query

SQL заявката

Низът на заявката не трябва да завършва с точка и запетая.

link_identifier

Връзката към MySQL. Ако не е указана, се използва последната създадена връзка от mysql_connect(). Ако не намери такава връзка, ще направи опит да установи връзка, все едно е изпълнена mysql_connect() без параметри. Ако случайно не е намерена или създадена никаква връзка, ще се генерира предупреждение от ниво E_WARNING.

Връщани стойности

За SELECT, SHOW, DESCRIBE, EXPLAIN и други изрази връщащи резултатно множество mysql_query() връща променлива от тип resource при успешно изпълнение и FALSE при грешка.

При други типове SQL израз, INSERT, UPDATE, DELETE, DROP, и т.н, mysql_query() връща TRUE при успешно изпълнение и FALSE при грешка.

Върнатият резултатен ресурс ще трябва да бъде предаден към mysql_fetch_array() или друга функция за работа с резултатни таблици, за да може да се осъществи достъп до върнатите данни.

Използвайте функция mysql_num_rows() за да разберете колко реда са върнати от SELECT заявката и функция mysql_affected_rows() за да разберете колко реда за засегнати от DELETE, INSERT, REPLACE, или UPDATE израза.

Също така, mysql_query() няма да изпълни заявката и ще върне FALSE ако потребителя няма права за достъп да таблицата/таблиците използвани в заявката.

Примери

Example #1 Невалидна заявка

Заявката по-долу има невалиден синтаксис, така ще mysql_query() няма да изпълни заявката успешно и ще върне FALSE.

<?php
$result 
mysql_query('SELECT * WHERE 1=1');
if (!
$result) {
    die(
'Невалидна заявка: ' mysql_error());
}

?>

Example #2 Валидна заявка

Заявката по-долу е валидна, така че mysql_query() връща resource.

<?php
// Това например може да се изведе от потребителя
$firstname 'fred';
$lastname  'fox';

// Формулиране на заявката
// Това е най-добрият начин да се изпълни SQL заявка
// За повече примери вижте mysql_real_escape_string()
$query sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    
mysql_real_escape_string($firstname),
    
mysql_real_escape_string($lastname));

// Изпълняване на заявката
$result mysql_query($query);

// Проверяване на резултата
// Тук се извежда реалната заявка изпратена към MySQL и грешката. Удобно за намиране и отстраняване на грешки.
if (!$result) {
    
$message  'Невалидна заявка: ' mysql_error() . "\n";
    
$message .= 'Цялата заявка: ' $query;
    die(
$message);
}

// Използване на резултата
// Чрез извеждане на $result няма да получим информацията от ресурса
// Трябва да се използва някоя от функциите за резултати
// Вж. също mysql_result(), mysql_fetch_array(), mysql_fetch_row(), и т.н.
while ($row mysql_fetch_assoc($result)) {
    echo 
$row['firstname'];
    echo 
$row['lastname'];
    echo 
$row['address'];
    echo 
$row['age'];
}

// Освобождава ресурсите свързани с резултатното множество
// Извършва се автоматично в края на изпълнението на скрипта
mysql_free_result($result);
?>

Вж. също


Функции за работа с MySQL
PHP Manual