在MySQLi查询中使用变量?

时间:2018-04-04 14:59:31

标签: php mysqli

我目前正在创建一个包含多个表的mySQLi数据库,所以我要做的是使用变量$tableName引用每个表。然而,当我尝试在我的查询中使用此变量时,我得到错误,没有它,当我只写它工作的表的纯文本名称。所以这告诉我,我的查询很好,就在我尝试使用变量时。有没有办法让这个工作?

使用变量(不起作用)

<?php

    $tableName = 'myTable1';

    $sql = mysqli_query($conn, "SELECT * FROM" , $tableName);

    if (false === $sql) {

        echo 'Failed';

    }

    else{
        echo 'Success';
    }

?>

没有变量(有效)

<?php

    $tableName = 'myTable1';

    $sql = mysqli_query($conn, "SELECT * FROM myTable1");

    if (false === $sql) {

        echo 'Failed';

    }

    else{
        echo 'Success';
    }

?>

1 个答案:

答案 0 :(得分:1)

你有一些语法错误:如果这是给你错误的,那么这是一个修复。这假设您的$conn变量建立了与数据库的连接。我在这里看不到变量,所以我希望它在这里。看看String Operatorsmysqli_query中的第一个参数应该是连接,所以你有正确的!第二个应该是MySQL查询。我个人的偏好是与.连接,然后连接变量名称(见下文)。另外我的个人偏好:我想先检查查询是否成功,而不是先检查它是否失败。所以这就是我改变那两个的原因。您只需在FROM之后添加另一个空格,并将,切换为.。     

    $tableName = 'myTable1';

    $sql = mysqli_query($conn, "SELECT * FROM ".$tableName);

    if ($sql) {

        echo 'Success';

    }

    else{
        echo 'Failed';
    }

?>