Самостоятельная работа По предмету "Веб программирование" Турсунова Хумора ташкент 2020 Ответы: 1



Download 42,57 Kb.
bet4/4
Sana07.04.2021
Hajmi42,57 Kb.
#62925
TuriСамостоятельная работа
1   2   3   4
Bog'liq
Веб ПК

Как создавать записи


Чтобы все было просто, мы инициализируем значения, которые необходимо вставить в таблицу employee в начале скрипта. Тем не менее, в большинстве случаев это происходит от ввода пользователем переменных $_POST, представленных с использованием формы.

01

02

03



04

05

06



07

08

09



10

11

12



13

14

15



16

17

18



19

20

21



22

23

24



$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;

}

 



// initialize variables for the insert query

$name = 'John Smith';

$email = 'john.smith@yahoo.com';

$phone = '541-754-1234';

 

// prepare the insert query



$query = "INSERT INTO employee(`name`,`email`, `phone`)

VALUES ('". mysqli_real_escape_string($connection_obj, $name) ."',

'". mysqli_real_escape_string($connection_obj, $email) ."',

'". mysqli_real_escape_string($connection_obj, $phone) ."')";

 

// run the insert query



mysqli_query($connection_obj, $query);

 

// close the db connection



mysqli_close($connection_obj);

?>


В приведенном выше сценарии мы сначала инициализировали переменные, которые мы собираемся использовать в запросе вставки. Затем мы подготовили запрос на вставку и назначили его переменной $query.

Важно отметить, что мы использовали функцию mysqli_real_escape_string для экранирования строковых значений, которые мы будем использовать в запросе вставки. Вы должны использовать эту функцию, когда имеете дело со строковыми значениями, представленными переменными $_POST. Это гарантирует, что ваши пользователи не будут вводить вредоносный код в ваши запросы к базе данных.

Наконец, мы выполнили запрос вставки с помощью функции mysqli_query. Функция mysqli_query используется для запуска запроса с активной базой данных. Чтобы завершить все, мы использовали функцию mysqli_close для закрытия активного соединения.

Как обновить записи

В предыдущем разделе мы обсудили, как вы можете вставлять новые записи в таблицу MySQL. В этом разделе мы увидим, как вы можете обновить запись, которая уже существует в таблице.

Я предполагаю, что запись уже существует в таблице employee, а идентификатор этой записи - 1. В следующем примере мы собираемся обновить запись, которая имеет значение 1 в столбце id.



01

02

03



04

05

06



07

08

09



10

11

12



13

14

15



16

17

18



19

20

21



22

$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;

}

 



// initialize variables for the insert query

$id = 1;


$phone = '333-555-4444';

 

// prepare the insert query



$query = "UPDATE employee SET `phone` = '". mysqli_real_escape_string(

$connection_obj,

$phone) ."' WHERE `id` = '". (int) $id ."'";

 

// run the insert query



mysqli_query($connection_obj, $query);

 

// close the db connection



mysqli_close($connection_obj);

?>


Как вы можете видеть в приведенном выше примере, мы хотим обновить столбец phone таблицы employee, где id равен 1. Это очень похоже на запрос вставки, за исключением того, что мы используем UPDATE вместо INSERT.

Как получить записи

До сих пор мы обсуждали, как вставлять и обновлять записи в таблице MySQL. В этом разделе мы увидим, как извлекать (получать) записи из таблицы MySQL.

Взгляните на следующий пример.



01

02

03



04

05

06



07

08

09



10

11

12



13

14

15



16

17

18



19

20

21



22

23

24



25

26

27



$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;

}

 



// prepare the select query

$query = "SELECT * FROM employee";

 

// execute the select query



$result = mysqli_query($connection_obj, $query) or die(mysqli_error($connection_obj));

 

// run the select query



while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {

    echo "ID:" . $row['id'] . "


";

    echo "Name:" . $row['name'] . "


";

    echo "Phone:" . $row['phone'] . "


";

    echo "Email:" . $row['email'] . "


";

    echo "


";

}

 



// close the db connection

mysqli_close($connection_obj);

?>


Первое, что вам нужно сделать для извлечения записей из базы данных, - это выполнить запрос выборки с помощью функции mysqli_query. После успешного выполнения запроса select функция mysqli_query возвращает объект mysqli_result, и это то, что мы сохранили в переменной $result выше.

Затем мы перебираем результирующий набор, используя функцию mysqli_fetch_array в цикле while. Функция mysqli_fetch_array извлекает одну строку за раз из набора результатов mysqli.

Функция mysqli_fetch_array принимает два аргумента: объект результата и тип результата. Тип результата указывает, какой тип массива будет возвращен из функции mysqli_fetch_array. Он может быть числовым, ассоциативным или и тем, и другим. Это необязательный аргумент, и вы можете передать одно из этих трех значений: MYSQLI_ASSOCMYSQLI_NUM или MYSQLI_BOTHMYSQLI_ASSOC указывает, что вы хотите получить доступ к столбцам по их имени, а MYSQLI_NUM указывает, что вы хотите получить доступ к столбцам по их номеру столбца.

Если вы передадите значение MYSQLI_NUM во втором аргументе функции mysqli_fetch_array, вы можете получить доступ к столбцам как $row[0]$row[1] и так далее. В нашем случае мы передали значение MYSQLI_BOTH, поэтому мы можем обращаться к столбцам в обоих направлениях. Если вы хотите получить доступ только к ассоциативным значениям, вместо этого вы можете использовать функцию mysqli_fetch_assoc.

В следующем и последнем разделе мы увидим, как удалять записи из базы данных.

Как удалить записи

В этом разделе мы увидим, как удалять записи из базы данных.

Взгляните на следующий пример.



01

02

03



04

05

06



07

08

09



10

11

12



13

14

15



16

17

18



19

20

21



$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;

}

 



// initialize variables for the delete query

$id = 1;


 

// prepare the insert query

$query = "DELETE FROM employee WHERE `id` = '". (int) $id ."'";

 

// run the delete query



mysqli_query($connection_obj, $query);

 

// close the db connection



mysqli_close($connection_obj);

?>


Как вы можете видеть, он работает почти так же, как запросы на вставку и обновление. Функция mysqli_query выполняет запрос DELETE и в конечном итоге удаляет запись из таблицы employee.

Заключение



В этой работе мы рассмотрели, как мы можем использовать базу данных MySQL с PHP. Также этом разделе мы научились работать с базой данных, научились получать и отображать данные с постраничной разбивкой с помощью yii\data\Pagination и yii\widgets\LinkPager. Мы видели, как перейти от настройки подключения к базе данных для выполнения различных типов запросов.
Download 42,57 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish