gpt4 book ai didi

php - 在 Zend Framework MySQL 查询中使用 PHP 数组

转载 作者:行者123 更新时间:2023-11-29 05:38:28 24 4
gpt4 key购买 nike

我正在尝试构建一个标签系统,我想在上传新标签之前查询我的标签表以清除重复的标签。因此,我将标签打包在一个展开的数组中,当我使用该数组查询表时,我从 Zend 收到大量关于它如何无法将数组转换为字符串的错误消息。

这就是我目前所拥有的。

$tags = explode(', ', $_POST['itemTag']);

foreach($tags as $tag) {
$tag_sql[] = '\''.$tag.'\'';
}
$tag_where = implode(',',$tag_sql);

$i = 0;
while ($i < count($tags)) {


$sql = $dbRead->quoteInto("SELECT tagID FROM item_tag WHERE tag IN ($tag_where)");
$tag_result = $dbRead->fetchAll($sql);

if ($tag_result) {
$tag_ID = $tag_result;
}
else {
$data = array ('tag' => $tags[$i]);
$dbWrite->insert('item_tag', $data);
$tag_ID = $dbWrite->lastInsertId(); }

$data = array('itemID' => $item_ID,
'tagID' => $tag_ID);

$dbWrite->insert('item_tag_connection', $data);
++$i;
}
}

我还需要它来插入标签的 ID 号,如果在连接表的查询过程中找到的话,我不确定我的代码是否有效,因为我无法通过数组查询问题。

谢谢。

最佳答案

让 Zend 像那样为您引用数组,使用 quoteInto() :

$dbRead->quoteInto('SELECT tagID FROM item_tag WHERE tag IN (?)', $tags)

关于php - 在 Zend Framework MySQL 查询中使用 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8722081/

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