Anda memiliki sintaks yang salah; tidak perlu menempatkan titik di dalam string yang dikutip ganda. Sebaliknya, itu harus lebih seperti
$query = mysql_query("SELECT * FROM table WHERE the_number LIKE '$prefix%'");
Anda dapat mengkonfirmasi ini dengan mencetak string untuk melihat bahwa ternyata identik dengan kasus pertama.
Tentu saja itu bukan ide yang bagus untuk hanya menyuntikkan variabel ke dalam string kueri seperti ini karena bahaya injeksi SQL. Setidaknya Anda harus secara manual keluar dari isi variabel dengan mysql_real_escape_string
, yang akan membuatnya terlihat seperti ini:
$sql = sprintf("SELECT * FROM table WHERE the_number LIKE '%s%%'",
mysql_real_escape_string($prefix));
$query = mysql_query($sql);
Perhatikan bahwa di dalam argumen pertama sprintf
tanda persen perlu digandakan agar akhirnya muncul sekali di hasil.