sql >> Databasteknik >  >> RDS >> Mysql

välja * som matchar användarens postnummer i mysql-tabellen?

Med detta svar antar jag att $_SESSION['user_postcode'] fylls från någon typ av inmatningsruta och att värdet är ett giltigt postnummer (som "M3 4").

Du kan använda preg_match för att dela postnumret från numret och försöka välja postnummer från db. Ta en titt på det här exemplet:

$matches = array();
$zipCode = preg_match('/^([a-z0-9]+)/i', $_SESSION['user_postcode'], $matches); 

Postnumret finns nu i variabeln $matches på andra plats ($matches[1]). Använd nu detta värde för att skapa en fråga och kontrollera om den är samma som andra.

$query = "SELECT *
        From ptb_stats, ptb_users
        WHERE ptb_stats.user_id=ptb_users.id
        AND ptb_stats.user_postcode REGEX '^" . $matches[1] . "'";


  1. Lägg automatiskt till bokstäver framför ett automatiskt ökningsfält

  2. Hur man låser en rad för att välja i MySQL

  3. Flera räkningar i CakePHP

  4. Tabellvärderad Parameter Ekvivalent i Postgresql