Intereting Posts
Есть ли способ хранения / обновления в реальном времени Facebook api 'share', 'like' подсчитывает каждую страницу на сайте в базе данных? Как этот PHP закодирован? Найдите разницу между двумя датами в PHP или MySQL Исключить исключение «DOMException» с сообщением «Ошибка запроса иерархии» Включает () / require () с «побочными эффектами» плохую практику? php & mysql – цикл через столбцы одной строки и передача значений в массив Какая версия OpenSSL необходима для подписания с помощью sha256WithRSAEncryption получить результат от ssh2_exec Почему это совместное использование файлов cookie и сеансов работает? Смущенный Результаты поиска функции в таблице Я хотел бы добавить дополнительную строку в мою WordPress BootStrap Navigation PHP / Mysql array_pop отсутствует первое значение Преобразование секунд в HH: MM: SS Как рассчитать «время назад» в php Как получить все категории продуктов из mysql db через php и вернуть json array

Единственный результат из базы данных с помощью mySQLi

Я пытаюсь использовать mySQLi в первый раз. Я сделал это в случае цикла. Результаты цикла показываются, но я застреваю, когда я пытаюсь показать одну запись. Вот код цикла, который работает.

<?php // Connect To DB $hostname="localhost"; $database="mydbname"; $username="root"; $password=""; @$conn = mysqli_connect($hostname, $username, $password) or die("Could not connect to server " . mysql_error()); mysqli_select_db($conn, $database) or die("Error: Could not connect to the database: " . mysql_error()); /*Check for Connection*/ if(mysqli_connect_errno()){ // Display Error message if fails echo 'Error, could not connect to the database please try again again.'; exit(); } ?> <?php $query = "SELECT ssfullname, ssemail FROM userss ORDER BY ssid"; $result = mysqli_query($conn, $query); @$num_results = mysqli_num_rows($result); ?> <?php /*Loop through each row and display records */ for($i=0; $i<$num_results; $i++) { $row = mysqli_fetch_assoc($result); ?> <?php // echo 'Name' .$row['ssfullname'] . 'email' . $row['ssemail'] . "\n"; ?> Name: <?php print $row['ssfullname']; ?> <br /> Email: <?php print $row['ssemail']; ?> <br /><br /> <?php // end loop } ?> 

Над кодом отлично в случае цикла. Теперь, как я могу показать одиночную запись, любую запись, имя или адрес электронной почты, из первой строки или любой другой, только одной записи, как бы я это сделал? В случае с одной записью рассмотрите все вышеперечисленные части цикла и покажите любую отдельную запись без цикла.

рассмотрите все вышеперечисленные части цикла

Итак, просто сделайте так, как вы сказали: удалите цикл из кода, оставив остальное как есть:

 $query = "SELECT ssfullname, ssemail FROM userss ORDER BY ssid"; $result = mysqli_query($conn, $query); $row = mysqli_fetch_assoc($result); ?> Name: <?=$row['ssfullname']?><br /> Email: <?=$row['ssemail']?><br /> 

Кстати, хотя использование raw api во время обучения в порядке, подумайте о том, чтобы использовать библиотеку абстракции базы данных в будущем.
Он превратит ваш код базы данных в 3 строки:

 include 'database.class.php'; $db = new DB(); $row = $db->getRow("SELECT ssfullname, ssemail FROM userss ORDER BY ssid LIMIT 1"); 

Если вы принимаете только один результат, вы можете сделать это, как в Эдвине, используя идентификатор конкретных пользователей.

 $someUserId = 'abc123'; $stmt = $mysqli->prepare("SELECT ssfullname, ssemail FROM userss WHERE user_id = ?"); $stmt->bind_param('s', $someUserId); $stmt->execute(); $stmt->bind_result($ssfullname, $ssemail); $stmt->store_result(); $stmt->fetch(); ChromePhp::log($ssfullname, $ssemail); //log result in chrome if ChromePhp is used. 

ИЛИ как «Ваше общее чувство», которое выбирает только одного пользователя.

 $stmt = $mysqli->prepare("SELECT ssfullname, ssemail FROM userss ORDER BY ssid LIMIT 1"); $stmt->execute(); $stmt->bind_result($ssfullname, $ssemail); $stmt->store_result(); $stmt->fetch(); 

Ничто действительно не отличается от приведенного выше, кроме PHP v.5

Используйте mysqli_fetch_row() . Попробуй это,

 $query = "SELECT ssfullname, ssemail FROM userss WHERE user_id = ".$user_id; $result = mysqli_query($conn, $query); $row = mysqli_fetch_row($result); $ssfullname = $row['ssfullname']; $ssemail = $row['ssemail']; 

В php.net есть пример, это №4.

http://php.net/manual/en/mysqli.quickstart.statements.php

 <?php $mysqli = new mysqli("example.com", "user", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") || !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) { echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error; } $res = $mysqli->query("SELECT id, label FROM test WHERE id = 1"); $row = $res->fetch_assoc(); printf("id = %s (%s)\n", $row['id'], gettype($row['id'])); printf("label = %s (%s)\n", $row['label'], gettype($row['label'])); ?>