我想使用一个 PHP
变量 ( $username
) 作为我正在创建的 SQL
表的名称。
我需要使用它,因为在我的网页中每个用户都需要有自己的表格,他可以在其中放置数据,当我尝试从表格中选择数据时不起作用,我已经尝试了很多次但它不起作用,你能帮我解决这个问题吗?
$result = mysqli_query($mysqli, "SELECT * FROM `$username` ORDER BY id DESC");
和
$sql= "SELECT * FROM `$username` ORDER BY data DESC";
这些都不行,你能帮帮我吗?
这是我的代码
<?php
session_start();
if (!isset($_SESSION['username'])) {
$_SESSION['msg'] = "You must log in first";
header('location: login.php');
}
if (isset($_GET['logout'])) {
session_destroy();
unset($_SESSION['username']);
header("location: login.php");
$sql= 'SELECT * FROM '.$username.' ORDER BY data DESC';
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<br/><br/>
<div>
<table align="center" width='100%' border=0>
<tr bgcolor='#CCCCCC'>
<td>Data</td>
<td>Cantiere</td>
<td>Pranzo</td>
<td>Cena</td>
<td>Hotel</td>
<td>Macchina</td>
<td>Note</td>
<td>Edit/Delete</td>
</tr>
<?php
while($res = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$res['data']."</td>";
echo "<td>".$res['cantiere']."</td>";
echo "<td>".$res['pranzo']."</td>";
echo "<td>".$res['cena']."</td>";
echo "<td>".$res['hotel']."</td>";
echo "<td>".$res['macchina']."</td>";
echo "<td>".$res['note']."</td>";
echo "<td><a href=\"edit.php?id=$res[id]\">Edit</a> | <a
href=\"delete.php?id=$res[id]\" onClick=\"return confirm('Are you sure you
want to delete?')\">Delete</a></td>";
}
?>
</table>
</div>
</body>
</html>
我得到了错误:
警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,在第 36 行的 index.php 中给定为 null
最佳答案
这样试试
$sql= 'SELECT * FROM '.$username.' ORDER BY data DESC';
或
$result = mysqli_query($mysqli, "SELECT * FROM " .$username. " ORDER BY id DESC");
当你使用一个变量时你需要使用引号
关于php - 在 MySQL 中使用 PHP 变量作为表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50526927/