Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类似PHP的通配符不起作用_Php_Sql_Phpmyadmin - Fatal编程技术网

类似PHP的通配符不起作用

类似PHP的通配符不起作用,php,sql,phpmyadmin,Php,Sql,Phpmyadmin,我试图做一个从x选择*的名字,比如y。我非常熟悉下面的代码 SELECT * FROM ` arm` WHERE `u_fname` LIKE 'k%' 但是,我正在尝试在服务器脚本上运行此操作,我不确定将%放在何处,因为它会导致错误。这是服务器代码的一部分,此代码与“=”一起工作,但当我使用LIKE时出错,因为我不确定如何在此处使用% elseif(empty($_POST["f_name"]) && !empty($_POST["l_name"])) { $

我试图做一个从x选择*的名字,比如y。我非常熟悉下面的代码

SELECT * FROM ` arm` WHERE `u_fname` LIKE 'k%'
但是,我正在尝试在服务器脚本上运行此操作,我不确定将%放在何处,因为它会导致错误。这是服务器代码的一部分,此代码与“=”一起工作,但当我使用LIKE时出错,因为我不确定如何在此处使用%

   elseif(empty($_POST["f_name"]) &&  !empty($_POST["l_name"])) 
{ 

 $l_name=$_POST["l_name"];
$stmt = $this->db->prepare('SELECT id, image, l_name, f_name, status  FROM table1  WHERE l_name =?');
           $stmt->bind_param("s",$l_name);
         $stmt->execute();
         $stmt->bind_result($id,$image,$l_name,$f_name,$status);   
我尝试从表1中选择id、图像、l_名称、f_名称、状态,其中l_名称=?%,我还尝试将$l_名称=$\u POST[l_名称%];但它们似乎都不起作用


谢谢您的帮助。

您的代码没有使用“LIKE” 您的代码是:从表1中选择id、图像、l_名称、f_名称、状态,其中l_名称=? 试一试

或尝试

$stmt = $this->db->prepare('SELECT id, image, l_name, f_name, status  FROM table1
WHERE l_name LIKE CONCAT(?, "%")');
$stmt->bind_param("s",$l_name);

您是否尝试过$stmt->bind_params,$l_name.%;我尝试了$stmt=$this->db->prepare'SELECT id,image,l_name,f_name,status FROM table1,f_name喜欢什么?你叫什么名字$stmt->bind_参数,$f_name.'%',$l_name.'%';和$stmt->bind_参数,$f_name.%,$l_name.%;。两者都不起作用…如果我输入全名Kenny James,它会起作用…但是Ken James没有显示任何结果。尝试将通配符连接到数据库端的l_名称。我在上面添加了一个例子。
$stmt = $this->db->prepare('SELECT id, image, l_name, f_name, status  FROM table1
WHERE l_name LIKE CONCAT(?, "%")');
$stmt->bind_param("s",$l_name);