Php read sql table

Примеры использования PDO MySQL

Ниже приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и удаление данных. Подробнее о методах PDO можно узнать на php.net.

Для примеров используется таблица `category` с полями `id` , `name` и `parent` .

Подключение к серверу MySQL

$dbh = new PDO('mysql:dbname=db_name;host=localhost', 'логин', 'пароль');

Четвертым параметром конструктора PDO можно указать параметры подключения, например SQL запрос который будет выполнен сразу после подключения:

$dbh = new PDO(' mysql:dbname=db_name;host=localhost', 'логин', 'пароль', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'") );

Чтобы отследить ошибку подключения к БД используется исключение:

try < $dbh = new PDO('mysql:dbname=db_name;host=localhost', 'логин', 'пароль'); >catch (PDOException $e) < die($e->getMessage()); >
SQLSTATE[HY000] [1045] Access denied for user 'логин'@'localhost' (using password: YES)

Выборка из БД

Выборка одной записи

PDO позволяет использовать в запросах псевдопеременные чтобы исключить SQL инъекции. В самом запросе в место данных указывается ? или :id , а в методе execute() указываются реальные значения этих переменных.

$sth = $dbh->prepare("SELECT * FROM `category` WHERE `id` = ?"); $sth->execute(array('21')); $array = $sth->fetch(PDO::FETCH_ASSOC); print_r($array);
$sth = $dbh->prepare("SELECT * FROM `category` WHERE `id` = :id"); $sth->execute(array('id' => '21')); $array = $sth->fetch(PDO::FETCH_ASSOC); print_r($array);
Array ( [id] => 21 [parent] => 3 [name] => Хурма ) 

Выборка всех записей таблицы

Данный пример получает всю таблицу в виде ассоциативного массива:

$sth = $dbh->prepare("SELECT * FROM `category` ORDER BY `name`"); $sth->execute(); $array = $sth->fetchAll(PDO::FETCH_ASSOC); print_r($array);
Array ( [0] => Array ( [id] => 16 [parent] => 3 [name] => Абрикос ) [1] => Array ( [id] => 28 [parent] => 3 [name] => Авокадо ) . )

Получить значение поля одной записи

$sth = $dbh->prepare("SELECT `name` FROM `category` WHERE `id` = ?"); $sth->execute(array('21')); $value = $sth->fetch(PDO::FETCH_COLUMN); echo $value; // Выведет "Хурма"

Получение всех значений одного столбца таблицы

Пример получает все значения поля `name` из таблицы `category` .

$sth = $dbh->prepare("SELECT `name` FROM `category`"); $sth->execute(); $array = $sth->fetchAll(PDO::FETCH_COLUMN); print_r($array);
Array ( [0] => Мороженое [1] => Овощи [2] => Фрукты [3] => Ягоды [4] => Грибы [5] => Морепродукты [6] => Смеси . )

Получение структуры таблицы

$sth = $dbh->prepare("SHOW COLUMNS FROM `category`"); $sth->execute(); $array = $sth->fetchAll(PDO::FETCH_ASSOC); print_r($array);
Array ( [0] => Array ( [Field] => id [Type] => int(10) unsigned [Null] => NO Php read sql table => PRI [Default] => [Extra] => auto_increment ) [1] => Array ( [Field] => parent [Type] => int(11) unsigned [Null] => NO Php read sql table => [Default] => 0 [Extra] => ) [2] => Array ( [Field] => name [Type] => varchar(255) [Null] => NO Php read sql table => [Default] => [Extra] => ) )

Добавление записей в БД

$sth = $dbh->prepare("INSERT INTO `category` SET `parent` = :parent, `name` = :name"); $sth->execute(array('parent' => 1, 'name' => 'Виноград')); // Получаем id вставленной записи $insert_id = $dbh->lastInsertId();

Изменение записей

$sth = $dbh->prepare("UPDATE `category` SET `name` = :name WHERE `id` = :id"); $sth->execute(array('name' => 'Виноград', 'id' => 22));

Удаление из БД

$count = $dbh->exec("DELETE FROM `category` WHERE `parent` = 1"); echo 'Удалено ' . $count . ' строк.';

Или метод c псевдопеременными:

$sth = $dbh->prepare("DELETE FROM `category` WHERE `parent` = :parent"); $sth->execute(array('parent' => 1));

Обработка ошибок

В PDO есть метод errorInfo() который возвращает сведенья об ошибке последнего запроса.

// Таблицы `category_new` нет в БД. $sth = $dbh->prepare("INSERT INTO `category_new` SET `parent` = :parent, `name` = :name"); $sth->execute(array('parent' => 1, 'name' => 'Виноград')); $info = $sth->errorInfo(); print_r($info);
Array ( [0] => 42S02 [1] => 1146 [2] => Table 'database.category_new' doesn't exist )

Комментарии 1

О

Функция debugDumpParams объекта PDOStatement используется для вывода параметров подготовленного оператора. Это может быть полезно для отладки и устранения неполадок, поскольку позволяет увидеть точный SQL-запрос, который будет выполнен, а также значения любых установленных заполнителей.
Например, рассмотрим следующий код:

$sth = $dbh->prepare(‘SELECT * FROM users WHERE name = :name AND age = :age’);
$sth->bindParam(‘:name’, $name);
$sth->bindParam(‘:age’, $age);
$name = ‘John’;
$age = 35;
$sth->debugDumpParams();

SQL: [114] SELECT * FROM users WHERE name = :name AND age = :age
Params: 2
Key: Name: [5] :name
paramno=-1
name=[5] «:name»
is_param=1
param_type=2
Key: Name: [4] :age
paramno=-1
name=[4] «:age»
is_param=1
param_type=2

Вывод показывает SQL-запрос с заполнителями и значениями заполнителей (в данном случае :name — «John», а :age — 35). Это может быть полезно для проверки того, что в запросе используются правильные значения, или для выявления проблем с запросом или заполнителями.
Надеюсь, это поможет! Дайте знать, если у вас появятся вопросы.

Авторизуйтесь, чтобы добавить комментарий.

Источник

Reading table data from SQL using PHP

To print all values in your view part, you can use Solution 1. Alternatively, Solution 2 can address several issues in your code such as not setting variables like $name, $email, and $company, and only displaying one result due to setting HTML after the loop. To solve this, run all checks on the same loop in PHP. The cause of slowness, which could be due to file download or connection delay, can also be resolved.

Php read data from sql database

Below is an illustration of how to connect using mysqli.

You neglected to include the name of your database. Please make the necessary change.

$conn = new mysqli($server, $user_name, $password); 
$conn = new mysqli($server, $user_name, $password, $database); 

PHP MySQL Get Last Inserted ID, If we perform an INSERT or UPDATE on a table with an AUTO_INCREMENT field, we can get the ID of the last inserted/updated record immediately. In the table «

PHP Tutorial (& MySQL) #26 — Getting Data From a Database

Hey all, in this PHP tutorial I’ll show you how we can use SQL to select (get) some data from Duration: 7:16

How to Fetch Data From Database in PHP And Display HTML Tables

How to Fetch Data From Database in PHP And Display HTML Tableshttps://www.onlineittuts Duration: 10:48

MySQL PHP Tutorial — Select & Display Data From MySQL Tables

Get file list from SQL table, display in PHP and check if files are live

It seems that the mentioned discrepancy between the operations of mysql_ and mysqli_ is a mere typographical error.

In such a scenario, you can execute all your checks in a single loop.

$result = mysqli_query($connect, $sql); echo ""; while ($row = mysqli_fetch_array($result)) < //Creates a loop to loop through results echo ""; echo ""; echo ""; // Check your files here echo ""; >echo "
" . $row['idFirmware'] . "" . $row['URL'] . ""; foreach (explode(',', $row['URL']) as $file_url) < // Use file exists to avoid loading file data if you're only checking if it's there echo file_exists($file_url) ? 'Live' : 'Not Live'; >echo ""; echo "
"; mysqli_close($connect);

The sluggishness that you’re encountering might be a result of downloading the file through file_get_contents or experiencing a delay in the connection.

PHP MySQL Select Data With ORDER BY Clause, First, we set up the SQL query that selects the id, firstname and lastname columns from the MyGuests table. The records will be ordered by the lastname column.

All values not displaying from SQL data table in PHP

 0) < while($row = mysqli_fetch_array($result))< array_push($test,$row); >// Free result set mysqli_free_result($result); > else < echo "No records matching your query were found."; >> else

Include foreach in your view section to display all the values.

Your code has a few problems. Firstly, the $name, $email and $company variables are not being set. Secondly, you are setting the HTML after looping through an array, which means that only a single result will be displayed.

 0) < while($row = mysqli_fetch_array($result)) < $test= $row['id']; >mysqli_free_result($result); > else < echo "No records matching your query were found."; >> else < echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); >?> 
Name Position Office Salary

Retrieve data from db and display it in table in php .. see this code, Try this:

Источник

Читайте также:  Catch checked exception in java
Оцените статью