gpt4 book ai didi

php - 使用 $wpdb->prepare() 时出错

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

我正在尝试使用 $wpdb->prepare() 函数,但它返回错误。 SQL语法有什么问题?

WordPress 数据库错误:[您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“wp_spreadsheets”WHERE id = 6'附近使用的正确语法]

SELECT table_name, table_code FROM 'wp_spreadsheets' WHERE id = 6

我使用的代码如下。

<?php

// Variables
$mysqltable_name = 'wp_spreadsheets';
$table_id = 6;

// Query
$query = $wpdb->prepare( 'SELECT table_name, table_code FROM %s WHERE id = %d', $mysqltable_name, $table_id );
$results = $wpdb->get_results( $query, ARRAY_A );

// Results
if( !empty( $results ) ) {
print_r( $results );
} else {
$wpdb->print_error();
}

?>

最佳答案

%s 表示您打算使用 varchar 输入,这在您传递 $mysqltable_name 文本的 PHP 端很好, 但在 MySQL 级别上,要执行的查询将包含 $mysqltable_name 周围的撇号,因为它是 varchar。您需要使用字符串连接或硬编码表名来避免在您的 PHP 代码中使用它。如果您的名称是动态的,那么您需要确保它不会包含有害代码。

关于php - 使用 $wpdb->prepare() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181064/

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