Rumah >pangkalan data >tutorial mysql >**Mengapa saya mendapat ralat \'T_ENCAPSED_AND_WHITESPACE\' dalam pertanyaan SQL saya?**
Ralat Tidak Dijangka: "T_ENCAPSED_AND_WHITESPACE" Ditemui
Semasa melaksanakan pertanyaan SQL, anda mungkin menghadapi ralat yang membingungkan: "unexpected_ T_EN T_EN T_ENCAPSED atau T_VARIABLE atau T_NUM_STRING." Ralat ini secara khusus menyerlahkan isu dengan sintaks pertanyaan anda pada baris: "KEMASKINI SET jadual commodity_quantity=$qty WHERE user=$rows['user'] ."
Akar Masalah
Punca ralat ini terletak pada pengendalian petikan yang tidak betul di sekitar nilai yang ditetapkan dalam klausa "WHERE". Apabila menggunakan nilai rentetan dalam pertanyaan SQL, ia mesti disertakan dalam petikan tunggal atau berganda untuk membezakannya daripada nilai pembolehubah atau angka. Dalam kes ini, pembolehubah pengguna '$rows['user']' tidak disertakan dalam petikan.
Penyelesaian
Untuk menyelesaikan ralat ini, hanya sertakan pengguna pembolehubah dalam petikan tunggal atau berganda. Berikut ialah pertanyaan yang diperbetulkan:
<code class="php">$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user='".$rows['user']."' ";</code>
Dengan menambahkan petikan yang diperlukan, pertanyaan itu kini akan menetapkan nilai 'pengguna' dengan betul kepada nilai yang disimpan dalam pembolehubah '$rows['user']'. Ini akan menyelesaikan ralat "T_ENCAPSED_AND_WHITESPACE" yang tidak dijangka dan membolehkan pertanyaan anda dilaksanakan dengan jayanya.
Atas ialah kandungan terperinci **Mengapa saya mendapat ralat \'T_ENCAPSED_AND_WHITESPACE\' dalam pertanyaan SQL saya?**. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!