Du har forkert syntaks; der er ingen grund til at placere et punktum i en streng med dobbelte citater. I stedet skulle det være mere som
$query = mysql_query("SELECT * FROM table WHERE the_number LIKE '$prefix%'");
Du kan bekræfte dette ved at udskrive strengen for at se, at den bliver identisk med den første sag.
Det er selvfølgelig ikke en god idé simpelthen at injicere variabler i forespørgselsstrengen som denne på grund af faren for SQL-injektion. I det mindste bør du manuelt undslippe indholdet af variablen med mysql_real_escape_string
, hvilket ville få det til at se sådan ud:
$sql = sprintf("SELECT * FROM table WHERE the_number LIKE '%s%%'",
mysql_real_escape_string($prefix));
$query = mysql_query($sql);
Bemærk, at inde i det første argument af sprintf
procenttegnet skal fordobles for at ende med at blive vist én gang i resultatet.