嗨這裏主要的事情,你缺少的是在第二WHERE
(更新..其實這兩個查詢)
$query = "SELECT * FROM `DBovervieuw` WHERE " . $owner;
$stmt = "SELECT * FROM `card` WHERE " . $result['ID'];
你有沒有列名稱。那麼在哪裏?
$query = "SELECT * FROM `DBovervieuw` WHERE {insert column name here } = " . $owner;
想想如果$owner
是爲1的id值,那麼你有這個疑問..
$query = "SELECT * FROM `DBovervieuw` WHERE 1"
這隻會返回表中的所有記錄。
也就是說一個簡單的加入可以優選在這裏,然後2查詢
$query = "SELECT
d.*, c.*
FROM
`DBovervieuw` AS d
JOIN
card AS c
ON
d.ID = c.DBid
WHERE d.owner = " . $owner;
如果不知道列名這是我能做的最好的...本質,而不是第二個,你用這種關係作爲ON
在加入。然後,您可以節省一大堆針對數據庫的查詢調用,並且使代碼更加簡便,因爲您掌握了所有的數據,並且可以避免第二個(嵌套的)while循環。
UPDATE 這也是一個問題。
$stmt = "SELECT * FROM `card` WHERE DBid=" . $result['ID'];
$Finale_set = mysqli_query($connection, $Finale_set);
我想你想這不是:,
$stmt = "SELECT * FROM `card` WHERE DBid=" . $result['ID'];
$Finale_set = mysqli_query($connection, $stmt); //<-----
通過,負責空查詢錯誤的方式,因爲你定義它之前使用$Finale_set
。這將是NULL
作爲你的SQL,從而給你空查詢錯誤。儘管這是錯誤的變量,所以我們只是使用正確的變量而不是定義它。
乾杯。
作爲一個側面說明,使用PDO
當它代表PDOstatement
http://php.net/manual/en/class.pdostatement.php所以約定明智的,我只想改變,要$sql
的$stmt
變量,通常使用。但這只是一種最佳實踐。
$ owner應該是什麼值 – jonju
添加到jonju的評論:除非'$ owner'類似'column_name ='some_value'',這是不正確的語法。你可以'echo $ query'來檢查字符串是如何啓動的。 **編輯:**或甚至更好,使用[mysqli_error](http://php.net/manual/en/mysqli.error.php) – FirstOne
它是一個4,所以一個INT,但是stmt失敗 –