php - 如何使用 meta_keys 获取 meta_values
问题描述
我正在创建自定义 CMS,因此我有一个数据库表,其中应该包含我的所有网站设置...示例(metakey => sitelogo、sitename、email 等)和另一列(metavalue => logo.png、示例名称、martin@ asd.com 等)。
我完成了一次查询以从数据库表中读取某些数据,但我不确定如何通过一次查询读取所有数据,或者在一次查询中更新多个数据。
更正的代码:
<?php
$stmt0 = $conn->prepare("SELECT meta_value FROM settings WHERE meta_key IN ('site_name', 'login_logo', 'contact_email', 'instagram_token', 'instagram_photos', 'maintenance_mode', 'facebook_link', 'instagram_link', 'twitter_link', 'about_text', 'site_logo') ");
$stmt0->execute();
$stmt0->store_result();
$stmt0->bind_result($sitename, $login_logo, $email, $token, $photos, $maintenance, $facebook, $instagram, $twitter, $about, $sitelogo);
$stmt0->fetch();
echo $sitename;
?>
但现在我有 error_log ... PHP 警告:mysqli_stmt::bind_result():绑定变量的数量与准备好的语句中的字段数量不匹配
您能否提供一些示例 PHP 代码如何进行?
解决方案
读取所有数据:
SELECT meta_key, meta_value FROM settings
要读取多个值:
SELECT meta_key, meta_value FROM settings WHERE meta_key IN (?,?,?...)
您正在解决的每个值都有一个?
,还有一个额外的绑定。
请注意,在使用这样的变量查询时,PDO 更容易使用,所以如果你不是太熟悉,mysqli
你可能想看看 PDO 是如何提供帮助的。
推荐阅读
- c# - 错误 RZ3007:目标标记名称不能为空或空格。Razor 在发布时抛出错误,但在本地工作
- javascript - 我们如何在 shopify 的 settings_schema.json 中设置 min 和 max 属性
- solr - Solr 节点在完全索引后挂在恢复状态 - solr 写入限制
- vue.js - 从 main.js 文件或 index.html 调用 service worker 是否正确?
- swift - 如何在导航栏的普通和大标题上使用不同的样式?
- excel - 在 Excel 中创建带有属性的外部文档列表
- php - 如何发布 HTML 元素的 ID
- r - 带有自定义库的 package.install 无法加载包
- grpc-java - 实现 grpc-java 服务器时如何处理错误?
- java - 没有时区的时间戳中的夏令时时间偏移