我有一个数据输入php代码。我允许用户选择要在单独页面上显示的表格以便于访问。我可以获取代码将选定的表插入“maintable”表,但我无法从该表中获取任何信息。即使在我插入该数据库的同一页面上,插入表文件也不会从中获取当前表名。所以我想如果我能解决这个问题,我也可以解决这个问题。维护表只有一列,其中一个记录在我的其他数据库中。我这样做是为了让用户无法直接访问它,因为他们可以看到不同数据库中的所有其他表。
data-entry-header.php文件有我的连接语句,$ connect是我用于此数据库连接的连接语句。我得到的结果是我的main-form.php文件没有表名。所以它不会抛出任何错误,它只是没有得到表名。我知道我的连接语句和表/列名称是正确的,因为我对insert语句使用了相同的名称。
include 'data-entry-header.php';
$keys = array();
/* Query for Main Table Value */
$string = 'SELECT TableName FROM maintable';
$resultMain = mysqli_query($connect, $string) or die(mysqli_error($link));
while ($rowMain = mysqli_fetch_row($resultMain)){
$table = $rowMain[0];
}
/* Display Message or Table */
if ($table = NULL || $table = "" ){
echo 'No Main Table has been set. Go to the <a href="set-main-table.php">Set Main Table</a> page to select a Main Table.';
}
else {
include 'main-form.php';
}
/* Get footer Contents */
include "../footer.php";
答案 0 :(得分:3)
if ($table = NULL || $table = "" ){
您将作业=
与比较==
您应该尝试:
if ($table == NULL || $table == "" ){
答案 1 :(得分:1)
您的代码还有许多其他错误。
die()
,您必须使用更方便的trigger_error();
,这不会向任何人透露敏感信息。if($table)
对大多数情况来说已经足够了使用有意义的(和一致的)变量名称也有很多帮助
$sql = 'SELECT TableName FROM maintable';
$res = mysqli_query($connect, $sql) or trigger_error(mysqli_error($connect));
// $connect, not $link ^
$row = mysqli_fetch_row($res);
/* Display Message or Table */
if (!$row){
echo 'No Main Table has been set. Go to the <a href="set-main-table.php">Set Main Table</a> page to select a Main Table.';
} else {
$table = $row[0];
include 'main-form.php';
}
答案 2 :(得分:-1)
而不是或死,只需在下面添加
echo mysqli_error($link);
此外,在您的查询中,它不是columnName FROM table
吗?