У меня есть таблица БД в MySQL под названием gsm, с 2 столбцами, LAC и NAME.
Поэтому я пытаюсь подсчитать, сколько разных LAC хранится в БД, и получить значение php для дальнейшего использования. Я использую mysqli
Я имею:
$sql = "select count(distinct lac) from gsm ");
Как мне сохранить этот запрос в переменной в php?
//conection:
$link = mysqli_connect("www.mywebsite.com","user","password","dataname") or die("Error " . mysqli_error($link));
//consultation:
$query = "SELECT COUNT(DISTINCT alias) as visitors FROM Visits where time BETWEEN timestamp(DATE_SUB(NOW(), INTERVAL 1 HOUR)) AND timestamp(NOW())";
//execute the query.
$result = $link->query($query) or die("Error in the consult.." . mysqli_error($link));
$row = mysqli_fetch_array($result);
//display information:
// The text to draw
$text = $row['visitors'];
Вы можете проверить с помощью приведенного ниже кода, однако он не проверен с моей стороны, но я уверен, что он будет работать.
# Init the MySQL Connection
if (!( $db = mysql_connect('localhost', 'root', '') ))
die ('Failed to connect to MySQL Database Server - #'.mysql_errno ().': '.mysql_error ());
if (!mysql_select_db('ram'))
die ('Connected to Server, but Failed to Connect to Database - #'.mysql_errno ().': '.mysql_error ());
# Prepare the SELECT Query
$sql = "select count(distinct lac) as LAC from gsm ";
if (!( $selectRes = mysql_query($sql) )) {
echo 'Retrieval of data from Database Failed - #' . mysql_errno() . ': ' . mysql_error();
} else if (mysql_num_rows($selectRes) == 0) {
echo 'No Any Record Returned';
} else {
while ($row = mysql_fetch_assoc($selectRes)) {
echo $row['LAC'];
}
}
Чтобы сделать это в MySQL, вам нужно
$count = $DB->query("SELECT COUNT( DISTINCT(LAC)) FROM gsm");
$row = $count->fetch_row();
echo 'LAC appears '. $row[0] . ' times in total.';
Так что теперь вы можете использовать $row[0]
за все, что вы хотите в php. Это количество уникальных значений LAC в вашей базе данных.