有人告诉我,在 MySQL 查询中动态选择表是不好的做法,除了将所有内容放入一个表中之外,我找不到当前代码的替代方法。如果这没有意义,也许我当前的代码会更有意义。
$where = $_GET['section'];
$mysqli = mysqli_connect("localhost", "root", "", "test");
if ($stmt = mysqli_prepare($mysqli, "SELECT title, img, active, price FROM ? ORDER by ID limit 5 ")) {
mysqli_stmt_bind_param($stmt, 's', $where);
while ($row = mysqli_fetch_assoc($stmt)) {
if ($row['active'] == "yes") {
echo'
我现在知道你不能使用准备好的语句来选择一个表,但我现在不知道如何解决这个问题。
会像:
$where = $_GET['section'];
$mysqli = mysqli_connect("localhost", "root", "", "test");
if ($where == "sets") {
$query = "SELECT title, img, active, price FROM sets;"
}
if ($stmt = mysqli_prepare($mysqli, $query)) {
while ($row = mysqli_fetch_assoc($stmt)) {
if ($row['active'] == "yes") {
echo'do stuff here';
}
但我敢肯定这也是不好的做法。感谢任何我应该采取的方向的指示,我为这篇长文道歉。