Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak używać funkcji zdefiniowanej przez użytkownika MySQL z poziomu PHP?

1 i 2 są blisko, ale $result nie będzie zawierać wyniku wywołania funkcji. Zamiast tego będzie zawierać wynikowy plik cookie z zapytania. Możesz użyć tego pliku cookie, aby uzyskać rzeczywiste dane za pomocą mysql_fetch_row() . Wywołanie funkcji po prostu zwraca wartość instrukcji SELECT, tak samo jak „SELECT 42” lub „SELECT a FROM MyTable”. Tak więc, aby uzyskać wynik, użyjesz tego samego mechanizmu, co w przypadku każdego innego zapytania SQL, które zwraca wyniki; to znaczy użyj pliku cookie i wywołaj mysql_fetch_row() . Twój ostateczny kod będzie wyglądał tak:

$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];

Zauważ, że nie chcesz interpolować zmiennych bezpośrednio do ciągu SQL (który może być wektorem ataków). Zakładam jednak, że ten kod jest tylko przykładowy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd składni spowodowany użyciem zastrzeżonego słowa jako nazwy tabeli lub kolumny w MySQL

  2. Struktura kodu transakcji PHP PDO MySQL

  3. Zapytanie o tabele MySQL Update Inner Join

  4. Uzyskaj liczbę zduplikowanych wartości w kolumnie z wynikiem zapytania

  5. Błąd składni SQL 1064