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

需要帮助创建一个通用的;“吸气剂”;PHP中的函数

需要帮助创建一个通用的;“吸气剂”;PHP中的函数,php,function,pdo,Php,Function,Pdo,我目前正在尝试创建一个函数,可以控制提取哪些字段和值。这是我的想法,但它不起作用。我没有得到任何错误,它返回一个空数组 public function test ($field, $id) { $sql = $this->con->prepare("SELECT ? FROM Content WHERE id=?"); $sql->bindParam(1, $field); $sql->bindParam(2, $id); $sql->execute

我目前正在尝试创建一个函数,可以控制提取哪些字段和值。这是我的想法,但它不起作用。我没有得到任何错误,它返回一个空数组

public function test ($field, $id) {
  $sql = $this->con->prepare("SELECT ? FROM Content WHERE id=?");
  $sql->bindParam(1, $field);
  $sql->bindParam(2, $id);
  $sql->execute();

  while ($row = $sql->fetch()) {
    echo $row;
  }
}
我不确定“选择?…”部分,我不能100%确定这是正确的方法。基本想法是我可以在任何地方打电话,比如:


<?php$obj=新处理程序$obj->test($\u GET['Title'],$\u GET['id']);?>,它将用正确的id回显标题。

准备好的语句的工作方式是准备好任务,然后发送字段的数据。因为第一个“?”引用了查询的实际部分,所以无法准备它。 解决办法: a) 获取整行并返回所需的字段

$this->con->prepare("SELECT * FROM Content WHERE id=?");
//.......
return $row->$field;
b) 在查询中插入字段raw(但可以使用引号)


另外,如果您打算像您描述的那样使用它,则可能会对数据库进行大量的dduplicate调用

此函数的用途是什么?请看以下内容:。您可以将其调整为Select查询。这是谁-1的,为什么?如果你打算-1某事,告诉写它的人他们可以如何改进
$this->con->prepare("SELECT `{$field}` FROM Content WHERE id=?");