sql >> Database >  >> RDS >> Mysql

Hoe gebruik ik een door de gebruiker gedefinieerde MySQL-functie vanuit PHP?

1 en 2 zijn dichtbij, maar $result zal niet het resultaat van de functieaanroep bevatten. In plaats daarvan gaat het de resultaatcookie van de query bevatten. U kunt die cookie gebruiken om de werkelijke gegevens op te halen, met mysql_fetch_row() . De functieaanroep retourneert gewoon een waarde voor de select-instructie, net hetzelfde als "SELECT 42" of "SELECT a FROM MyTable". Dus om het resultaat te krijgen, zou je hetzelfde mechanisme gebruiken als bij elke andere SQL-query die resultaten oplevert; dat wil zeggen, gebruik de cookie en bel mysql_fetch_row() . Uw uiteindelijke code ziet er dus als volgt uit:

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

Houd er rekening mee dat u variabelen niet rechtstreeks in een SQL-tekenreeks wilt interpoleren (dat kan een vector zijn voor aanvallen). Ik neem echter aan dat deze code alleen voor voorbeelddoeleinden is.



  1. SQL Sub-query's met controlebeperking

  2. PostgreSQL Logische Replicatie Gotchas

  3. Kan geen verbinding maken met mysql vanuit php met behulp van het netbeans-project

  4. PostgreSQL:hoe minimale kardinaliteit implementeren?