php - 将 php 参数绑定(bind)到类中的 mysqli 准备语句中

标签 php mysql mysqli

我正在考虑在我的 mysqli 查询中使用数据库表前缀。 我有:

$db_table_prefix = "";
GLOBAL $db_table_prefix;

class test{
    private $table_prefix;
    public function __construct(){
        global $db_table_prefix;
        $this->table_prefix = $db_table_prefix;
   }

   public function test2(){
       $stmt = $db->mysqli->prepare("SELECT id FROM {$this->table_prefix}users WHERE name = 'test'");
   }
}

如何在查询本身中使用前缀?

最佳答案

更改您的代码:

   public function test2(){
       $stmt = $db->mysqli->prepare("SELECT id FROM {$this->table_prefix}users WHERE name = 'test'");
   }

   public function test2(){
       $sql="SELECT id FROM {$this->table_prefix}users WHERE name = 'test'";
       echo $sql;
       $stmt = $db->mysqli->prepare($sql);
   }

始终以这种方式使用它:首先创建字符串,然后显示字符串,然后调用数据库——然后您将确切地知道您在执行什么。

如果您确信您的代码可以正常工作,您可以随时注释掉 echo 语句。

如何调用这段代码?

关于php - 将 php 参数绑定(bind)到类中的 mysqli 准备语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20799744/

相关文章:

php - MySQLi 准备语句返回 false

php - 我如何用mysqli写这个?

php循环每天几次

php - Laravel Auth Logout() + Session Flush() 没有注销用户

php - css 路径不起作用 (php)

php - 有关远程测试服务器的问题

mysql - 检查具有相同 FK 的行中的值

python - 将 SQL 查询存储在字典中?

php - 如何防止 PHP 将具有 0000-00-00 值的 DateTime 对象转换为 -0001-11-30

mysql - Oracle 是否有 mysql "FIELD"的等效函数