0
我試圖從表格中計算支付數量(PAID)。已更新::獲得具有特定值的字段數? -mysql-php
Please Assume This is the table:
| book_no | name | mobile | date1 | date2 | date3 | date4 |.. daten |
|---------|------|--------|-------|-------|-------|-------|-------|
| 1 | Cell | | PAID | DUE | DUE | | |
| 2 | Cell | | PAID | PAID | PAID | | |
| 3 | Cell | | DUE | DUE | DUE | DUE | |
| 4 | Cell | | PAID | PAID | PAID | | |
| 5 | Cell | | DUE | DUE | DUE | | |
在上表計數(付費)= 7
日期列的數量是動態的,所以我認爲這是明智的搜索整個表,並獲得有償計數。
這是我設法寫堆棧溢出參考答案的代碼,但我不認爲這是正確的這一
對不起,我貼錯代碼前面,因爲我嘗試不同的東西,忘了以ctrl-z在發佈之前。
//what is the search?
$search = "PAID";
//get all the columns
$columnsq ="SELECT
COLUMN_NAME
FROM
information_schema.COLUMNS
WHERE TABLE_NAME = " .$scheme_name. "
AND TABLE_SCHEMA = 'gold' ";
$columns=mysqli_query($conn,$columnsq);
var_dump($columns);
//put each like clause in an array
$queryLikes = array();
while ($column = $columns->fetch_assoc()) {
$queryLikes[] = $column['COLUMN_NAME'] . " LIKE '%$search%'";
}
$query = "SELECT COUNT(*) FROM " .$scheme_name. " WHERE " . implode(" OR ", $queryLikes);
//echo $query; //should look like this:
//SELECT * FROM users WHERE column1 LIKE '%something%' OR column2 LIKE '%something%' OR column3 LIKE '%something%' OR ...
//so then
$users=mysqli_query($conn,$query);
while ($user = $users->fetch_assoc()) {
//do stuff with $user
echo $users;
}
這是我現在得到的錯誤。
bool(false)
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in E:\xampp\htdocs\schemeTable11.php:394 Stack trace: #0 {main} thrown in E:\xampp\htdocs\schemeTable11.php on line 394
因此我正在尋找替代解決方案。 請幫助
@Marc請參閱我的編輯的帖子。我在上次發佈 –
不同dupe時犯了一個錯誤,然後:http://stackoverflow.com/questions/5121027/fatal-error-call-to-a-member-function-fetch-assoc-on-a-non-對象 –