что заменить mysql_result
?
Im смотрел учебник сейчас, но он был сделан в 2011 году, так что он не работает сейчас. Вот ситуация, я буду очень признателен, если вы скажете мне, что заменить mysql_result здесь, и что положить в круглую скобку
function update_count() { global $link; $query = "SELECT `count`, FROM `hits_count`"; if($query_run = mysqli_query($link, $query)) { $count = mysql_result($query_run, 0, 'count'); $count_inc = $count + 1; echo $count; } } update_count();
mysqli_query
возвращает объект mysqli_result
. Оттуда вы можете получить нужное значение.
if($query_run = mysqli_query($link, $query)) { // This gets you one row at a time, use a while if there are multiple rows // while($row = mysqli_fetch_assoc($query_run)){} $row = mysqli_fetch_assoc($query_run); $count = $row['count']; // Do whatever with $count }
Чтобы поддержать краткий ответ тадмана с помощью кода-доказательства
В отличие от mysqli, PDO имеет давно искаженный эквивалент mysql_result:
function update_count() { global $link; $query = "SELECT `count` FROM `hits_count`"; $stmt = $link->prepare($query); $stmp->execute(); return $stmt->fetchColumn(); } echo update_count();
Любой, кто говорит, что mysqli не хуже PDO, должен попытаться связать массив с инструкцией IN()
используя сначала подготовленные инструкции.
Согласно php.net mysql_result()
устарел с PHP 5.5.0.
Итак, в этом случае вы должны использовать mysqli_fetch_all()
или другой метод из mysqli_result::*
.
function update_count() { global $link; $query = "SELECT `count` FROM `hits_count` ;"; if(($result = mysqli_query($link, $query)) && $result->num_rows >= 1) { $count = 0 ; while($row = $result->fetch_assoc()){ $count+= $row['count'] ; } echo $count; } }
Как правило, лучше передать эту ссылку в функцию:
function update_count($link) { $query = "SELECT `count` FROM `hits_count` ;"; if(($result = mysqli_query($link, $query)) && $result->num_rows >= 1) { $count = 0 ; while($row = $result->fetch_assoc()){ $count+= $row['count'] ; } echo $count; } }