gpt4 book ai didi

php - 使用 php 语言使用准备好的语句的通用 select(mysql) 函数

转载 作者:行者123 更新时间:2023-11-29 22:27:58 26 4
gpt4 key购买 nike

我正在尝试在 php 上创建一个通用方法/函数,它使用带有 where 子句的任何 select 语句。然而,有些不对劲。你能帮我一下吗?

使用数据的示例:

DB inherit PDO class.
$db=new DB;
$db->select("SELECT count(*) FROM `login` WHERE Email='?'",
"papa1980@gmail.com");

这是函数

public function select($sqlString,...$bindParameters)
{

$stmt=$this->prepare($sqlString);
foreach($bindParameters as $key=>$bindParameter)
{

$stmt->bindParam(($key+1),$bindParameter);
echo '<pre>' . print_r($stmt, true) . '</pre>';
}
echo '<pre>' . print_r($bindParameters, true) . '</pre>';
if($stmt->execute())
{
echo "execution was succesful";
}
echo '<pre>' . print_r($stmt->fetchAll(), true) . '</pre>';
}

输出

PDOStatement 对象( [queryString] => SELECT count(*) FROM login WHERE Email='?')

数组( [0] => papa1980@gmail.com)

执行成功

数组( [0] => 数组 ( [计数(*)] => 0 [0] => 0 ))

为什么返回0?我用的是

SELECT count(*) FROM `login` WHERE Email='papa1980@gmail.com' 

在 mysql 中,它返回 1。我的 php 代码中有些东西不正确。

最佳答案

功能正常,但是从 login 中选择 count(*),其中电子邮件=?错了,因为?不得在 ''

关于php - 使用 php 语言使用准备好的语句的通用 select(mysql) 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com