Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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_Mysql_Pdo - Fatal编程技术网

Php 我喜欢不工作

Php 我喜欢不工作,php,mysql,pdo,Php,Mysql,Pdo,这里我的代码是jQueryAjax调用的一部分,返回数据库中的所有结果,而不是像我输入的那样的项目,我不知道为什么,有什么建议吗 $lname = '%'.$_POST['lname'].'%'; $database->query("SELECT * FROM cust WHERE org_id = :org_id AND lname LIKE :lname"); $database->bind(':lname',$lname); $database->bind(':o

这里我的代码是jQueryAjax调用的一部分,返回数据库中的所有结果,而不是像我输入的那样的项目,我不知道为什么,有什么建议吗

$lname = '%'.$_POST['lname'].'%';   

$database->query("SELECT * FROM cust WHERE org_id = :org_id AND lname LIKE :lname");
$database->bind(':lname',$lname);
$database->bind(':org_id',$_SESSION['org_id']);
$existing = $database->resultset();
非常感谢

  • 无法直接从PDO连接执行代码 变数
  • 它是bindParam而不是bind
  • PDO中没有“resultset”函数
  • 要使用bindParam追加值,必须将 SQLPDO prepare函数中编码
  • 总体而言,代码应为:

    $lname = '%'.$_POST['lname'].'%';   
    $sql=$database->prepare("SELECT * FROM cust WHERE org_id = :org_id AND lname LIKE :lname");
    $sql->bindParam(':lname',$lname,PDO::PARAM_STR);
    $sql->bindParam(':org_id',$_SESSION['org_id'],PDO::PARAM_INT);
    $sql->execute();
    $existing=$sql->fetch();//Resultset
    

    其中,$database是一个有效的PDO连接。

    最终对这个连接进行了排序,在PHP文件中,我需要在echo之前添加这一行:

    header("Content-Type: application/json", true);
    

    谢谢大家的努力

    你是说它返回所有的
    ord\u id=…
    行,而不管lname是什么?您是否确认$_POSt['lname']包含您认为它的功能?mark,是的,这是正确的,它返回所有组织id条目并忽略类似部分。如果我将LIKE改为=(并删除%符号),那么一切看起来都正常。我还手动输入了数据库ie和lname中的一个名称,如“%smith%”,这很有效。您是否确认
    $\u POST['lname']
    包含您认为它的功能?是的,我可以确认它的功能,我已经测试过了,最初我得到了smith,然后当我在php代码中时得到了%smith%。@DeanHaines您能在问题中显示您想要得到的cust表的行吗?我的意思是在这个问题的表格中加入一些样本行。我越来越认为你的年龄不再是匆忙和毫无意义的回答的借口。如果你只想改变一个小的和毫无意义的事情,但如果你不这样做,只需重新发布OP的代码,然后至少指出你在哪里做了那个小改动…对不起,我应该提到我在这里使用这个类,我知道连接是有效的,因为我已经在整个项目的许多地方使用了它们。谢谢你的帮助,不过如果你能更好地解释代码和问题,其他用户会得到答案的。