我在sql中使用LIKE运算符但是显示了一些错误。这是我的代码
<?php
header('Access-Control-Allow-Origin: *');
$con=mysqli_connect("url","xxxx","password","xxxx");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$callback =$_GET['callback'];
DECLARE @alpha nchar(1)
SET @alpha = 'A'
$result= mysqli_query($con,"SELECT * FROM demo WHERE Name LIKE @alpha + '%'");
$var= array();
while($row = mysqli_fetch_assoc($result))
{
$var[]=$row;
}
echo $callback."(".json_encode($var).")";
mysqli_close($con);
?>
当我使用没有alpha时它正常工作,即当我直接使用字符串时。但是当我使用vaiable时它会显示错误“Unexpected token&lt;”
答案 0 :(得分:0)
我不是PHP专家,因此我不确定语法...但您可以尝试以下方法:
SET @alpha = "A"
$result= mysqli_query($con,"SELECT * FROM demo WHERE Name LIKE '" + @alpha + "%'");
即。在双引号中使用PHP字符串(&#34;)和单引号内的SQL字符串(&#39;)
另外,如上所述更改第二行应该会产生SQL查询:
SELECT * FROM demo WHERE Name LIKE&#39; A%&#39;这就是我想你想要的。我不确定在字符串中使用变量名是否会导致获取其值或将其嵌入查询中。