我想填充三個PHP值,它將在數據庫中搜索特定表(table_2
),該數據庫中的名稱與其中一個從同一個數據庫中的單獨表格(table_1
)中刪除列(我已將其分配給php值$cscomp
)。正在搜索特定的SQL表,然後搜索此結果中的行
然後,我需要根據與列值中的日期匹配的當前日期,調用它所找到的選定表中的特定行的所有信息。
我已經從值填充在table_1
在前面的SQL搜索的正常工作下面的PHP領域:$cscomp, $csship
,
我想的PHP是以下:
1 <?php
2 $a = "";
3 $b = "";
4 $c = "";
5 $sql = "SELECT table_name FROM information_schema.tables WHERE table_name='$cscomp'";
6 $ship_select = mysqli_query($db_conx, $sql);
7 $date_select = "SELECT * FROM $ship_select WHERE shipdate = CURRDATE() AND csship='$csship' LIMIT=1";
8 while ($row = mysqli_fetch_array($date_select, MYSQLI_ASSOC)) {
9 $a = $row["port"];
10 $b = $row["arrtime"];
11 $c = $row["deptime"];
12 }
13 ?>
我得到的錯誤返回是:
Catchable fatal error: Object of class mysqli_result could not be converted to string.
這與上述第7行有關。我認爲這是找到正確的表,但是沒有得到我需要的行值。有什麼建議麼?
您需要參數化您的查詢。這看起來像是一個sql注入漏洞的教科書示例。 –
你使用mysql和sql-server嗎? – ughai
第6行$ ship_select是一個mysql_result值,它是查詢的狀態 - 不是您認爲它的數據項。您需要執行一次獲取來獲取數據行,就像您在第二個查詢中那樣。 – bitfiddler