我目前正在创建一个包含多个表的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';
}
?>
答案 0 :(得分:1)
你有一些语法错误:如果这是给你错误的,那么这是一个修复。这假设您的$conn
变量建立了与数据库的连接。我在这里看不到变量,所以我希望它在这里。看看String Operators。 mysqli_query
中的第一个参数应该是连接,所以你有正确的!第二个应该是MySQL查询。我个人的偏好是与.
连接,然后连接变量名称(见下文)。另外我的个人偏好:我想先检查查询是否成功,而不是先检查它是否失败。所以这就是我改变那两个的原因。您只需在FROM
之后添加另一个空格,并将,
切换为.
。
$tableName = 'myTable1';
$sql = mysqli_query($conn, "SELECT * FROM ".$tableName);
if ($sql) {
echo 'Success';
}
else{
echo 'Failed';
}
?>