PHP Manualen
forrige |  | næste

# mysql_query

(PHP 3, PHP 4, PHP 5)

mysql_query -- Sender en MySQL forespørgsel

## Beskrivelse

resource mysql_query ( string query [, resource link_identifier] )

mysql_query() sender en forespørgsel (til den nuværende aktive database på den server der er specificeret med link_identifier).

## Parameterliste

query

  En SQL query

  Forespørgsels strengen skal ikke ende med et semikolon.

link_identifier

  En link beskriver, er returneret af mysql_connect().

  Hvis link_identifier ikke er specifiveret, vil det sidste åbne link blive valgt. Hvis intet link er åbent, vil funktionen forsøge at etablere en forbindelse, som om mysql_connect() blev kaldt uden argumenter, og bruge denne. Resultatet af forespørgslen er gemt i en buffer.

## Returneringsværdier

For SELECT, SHOW, DESCRIBE eller EXPLAIN forespørgslerne, vil mysql_query() returnere en resource ved succes, eller `FALSE` ved fejl.

For andre SQL forespørgsler, UPDATE, DELETE, DROP, osv, vil mysql_query() returnere `TRUE` ved succes og `FALSE` ved fejl.

Den returnerede resource, bør blive brugt sammen med mysql_fetch_array(), og andre funktioner, der arbejder med resulterende rabeller, for at tilgå den returnerede data.

Brug mysql_num_rows() for at finde ud af hvor mane rækker, der vlev returneret af en SELECT forespørgsel eller mysql_affected_rows() for at finde ud af hvor mange rækker der blev påvirket af DELETE, INSERT, REPLACE, eller UPDATE forespørgslerne.

mysql_query() vil også fejle og returnere `FALSE` hvis brugeren, ikke har rettigheder til de tabeller, der blev refereret til af forespørgslen.

## Eksempler

Eksempel 1. Ugylding forespørgsel

Den følgende forespørgsel, er syntax mæssigt ugyldigt, så mysql_query() vil fejle og returnere `FALSE`.

`<?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Ugyldig forespørgsel: ' . mysql_error()); } ?>`

Eksempel 2. Gyldig forespørgsel

Den følgende forespørgsel er gyldig, så mysql_query() vil returnere en resource.

`<?php
// Dette skal suppleres med en bruger f.eks.
$firstname = 'fred';
$lastname = 'fox';
// Formuler forespørgslen
// Dette er den bedste måde at udføre en SQL forespørgslen
// For flere eksempler, se 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));
// Udfør forespørgslen
$result = mysql_query($query);
// Tjek resultatet
// Dette er den aktuelle forespørgsel, sendt til MySQL, og fejlen. Brugbart til fejlfindding.
if (!$result) {
$message = 'Ugyldig forespørgsel: ' . mysql_error() . "\n";
$message .= 'Hele forespørgslen: ' . $query;
die($message);
}
// Brug resultatet
// Et forsøg på at printe $result vil ikke give adgang til informationen i resourcen
// En af MySQL resultat funktionerne skal bruges
// Se også mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}
// Befri resourcerne associeret med resultat sættet
// Dette vil automatisk blive gjort, når scriptet er eksekveret
mysql_free_result($result);
?>`

## Se også

mysql_connect()
mysql_error()
mysql_real_escape_string()
mysql_result()
mysql_fetch_assoc()
mysql_unbuffered_query()

forrige | hjem | næste
mysql_ping | op | mysql_real_escape_string