2016-05-22 3 views
-1

Я пытаюсь получить количество столбцов в таблице, если это имеет смысл. Например, у меня есть 5 таблиц со столбцом в каждом. Вместо того, чтобы получать сумму всех данных в этих столбцах, я хотел бы получить сумму, сколько есть. Если это имеет смысл?Получить количество столбцов в таблице

Вот диаграмма того, что я имею в виду:

enter image description here

Вот мой код:

public function getNumber() { 
    include("dbconnect.php"); 
    $query = "SELECT 
      (SELECT username FROM table1) 
      + (SELECT username FROM table2) 
      + (SELECT username FROM table3) 
      + (SELECT username FROM table4) 
      + (SELECT username FROM table5)"; 
    $result = mysqli_query($scriptdatasqlcon, $query); 

    if (mysqli_num_rows($result) > 0) { 
     echo mysqli_num_rows($result); 
    } else { 
     echo "UH OH"; 
    } 
} 
+1

вы хотите, чтобы получить количество столбцов или количество строк ли? – Joni

+0

http://php.net/manual/en/function.mysql-num-fields.php – Hosseini

ответ

1

Может быть, вы должны использовать COUNT (*) - например,

$query = "SELECT 
     (SELECT COUNT(*) FROM table1) 
     + (SELECT COUNT(*) FROM table2) 
     + (SELECT COUNT(*) FROM table3) 
     + (SELECT COUNT(*) FROM table4) 
     + (SELECT COUNT(*) FROM table5)"; 
2

Вы должны использовать http://www.w3schools.com/sql/sql_func_count.asp

SELECT COUNT(username) from table1 

Дай вам ряд строки, которые получили имя пользователя, не равное нулю.

В вашем случае, вы, вероятно, хотите использовать

SELECT COUNT(*) from table1 

Который даст вам номер строки в table1.

Для вашего конкретного случая:

SELECT (SELECT COUNT(*) from table1) + (SELECT COUNT(*) from table2) ... (SELECT COUNT(*) from table5) AS totalRow` 
1

Я думаю, вам это нужно;

Select (SELECT COUNT(*) FROM table1) + (SELECT COUNT(*) FROM table1) as Total 

Надежда помогает,

Смежные вопросы