namespace app\models;
use yii\db\ActiveRecord;
class City extends ActiveRecord
{
public static function tableName()
{
return 'city'; //имя таблицы
}
}
Теперь в соответствующем контроллере необходимо подключить нашу модель и сделать запрос на выборку данных из таблицы
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\City;
class MyController extends Controller
{
public function actionIndex()
{
$this->layout = 'default_template'; //имя шаблона для данного контроллера
// Возвращает массив всех занчений таблицы
$mass = City::find()->asArray()->all();
//возвращает массив состоящий из одной строки таблицы
$mass2 = City::find()->asArray()->one();
//возвращает отсортированный объект по полю таблицы name
$mass3 = City::find()->orderBy('name')->all();
// Вызывает соответствующий вид "main.php" и передаёт в него наши массив
return $this->render('main', compact('mass ', 'mass2', 'mass3'));
// Производит редирект на другой контроллер (например в случае обищки или исключения)
//return Yii::$app->response->redirect(['site/index']);
}
}
|
2. Работа с базой данных на PHP. Обработка базы данных в PHP (CRUD).
Во-первых, давайте рассмотрим синтаксис функции mysqli_connect, который используется для настройки соединения с исходным кодом MySQL.
1
2
3
|
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
?>
|
Функция mysqli_connect принимает четыре аргумента и возвращает объект соединения при успешном соединении. Давайте рассмотрим каждый аргумент:
MYSQL_HOSTNAME: это должно быть заменено на имя хоста или IP-адрес сервера MySQL. Если вы работаете с сервером MySQL в своей локальной системе, вы можете использовать localhost или 127.0.0.1.
MYSQL_USERNAME: имя пользователя вашего пользователя MySQL.
MYSQL_PASSWORD: пароль вашего пользователя MySQL.
MYSQL_DATABASE: база данных, к которой вы хотите подключиться.
После успешного соединения $connection_obj содержит объект соединения. При этом вы готовы запускать запросы к базе данных, которая была определена в аргументе MYSQL_DATABASE.
С другой стороны, если соединение не выполняется, мы можем отладить его, как показано в следующем фрагменте:
1
2
3
4
5
6
7
8
9
|
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
if (!$connection_obj) {
echo "Error No: " . mysqli_connect_errno();
echo "Error Description: " . mysqli_connect_error();
exit;
}
?>
|
Выбираем базу данных.
Конечно, как мы уже видели, вы всегда можете передать базу данных в четвертом аргументе самой функции mysqli_connect. Но есть и другой способ сделать это, если вы хотите изменить базу данных после подключения к MySQL. Вы можете использовать функцию mysqli_select_db для выбора базы данных для работы.
Давайте рассмотрим пример, приведенный в предыдущем разделе, чтобы узнать, как он может работать.
01
02
03
04
05
06
07
08
09
10
11
|
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}");
if (!$connection_obj) {
echo "Error No: " . mysqli_connect_errno();
echo "Error Description: " . mysqli_connect_error();
exit;
}
mysqli_select_db($connection_obj, "{MYSQL_DATABASE}");
?>
|
Как вы можете видеть, мы передали только три аргумента в функции mysqli_connect, и это должно дать нам успешное соединение с базой данных. Вместо передачи базы данных в четвертом аргументе мы выбираем базу данных с помощью функции mysqli_select_db.
Функция mysqli_select_db принимает два аргумента: объект подключения и базу данных, к которой вы хотите подключиться.
Do'stlaringiz bilan baham: |