Du har fel syntax; det finns ingen anledning att placera en punkt i en sträng med dubbla citat. Istället borde det vara mer som
$query = mysql_query("SELECT * FROM table WHERE the_number LIKE '$prefix%'");
Du kan bekräfta detta genom att skriva ut strängen för att se att den blir identisk med det första fallet.
Naturligtvis är det ingen bra idé att helt enkelt injicera variabler i frågesträngen så här på grund av faran med SQL-injektion. Åtminstone bör du manuellt undkomma innehållet i variabeln med mysql_real_escape_string
, vilket skulle få det att se ut så här:
$sql = sprintf("SELECT * FROM table WHERE the_number LIKE '%s%%'",
mysql_real_escape_string($prefix));
$query = mysql_query($sql);
Observera att inuti det första argumentet för sprintf
procenttecknet måste fördubblas för att hamna en gång i resultatet.