πŸ”€ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP, Π²Π°ΠΌ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SQL-запрос Π² сочСтании с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ исполнСния запроса.


$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "UPDATE your_table SET your_column = 'new_value' WHERE condition";

if ($conn->query($sql) === TRUE) {
    echo "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.";
} else {
    echo "Ошибка ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния: " . $conn->error;
}

$conn->close();

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ "your_username", "your_password", "your_database", "your_table", "your_column" ΠΈ "condition" соотвСтствСнно вашими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP?

ИзмСнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы измСнСния значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с использованиСм языка программирования PHP.

1. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE Π² SQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π’ PHP ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mysqli_query. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$sql = "UPDATE table_name SET column_name = 'new_value' WHERE condition";
$result = mysqli_query($conn, $sql);

if ($result) {
  echo "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ";
} else {
  echo "Ошибка ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния";
}

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE для измСнСния значСния Π² столбцС с ΠΈΠΌΠ΅Π½Π΅ΠΌ column_name Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΈΠΌΠ΅Π½Π΅ΠΌ table_name. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ условиС Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ WHERE, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. ПослС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE ΠΌΡ‹ провСряСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mysqli_query ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

2. ИспользованиС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ИспользованиС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ являСтся Π±ΠΎΠ»Π΅Π΅ бСзопасным ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ выраТСния ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π°Ρ‚Π°ΠΊΠΈ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΡƒΡŽ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ выраТСния для измСнСния значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

$stmt = $conn->prepare("UPDATE table_name SET column_name = ? WHERE condition");
$stmt->bind_param("s", $new_value);

$new_value = "Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅";
$stmt->execute();

if ($stmt->affected_rows > 0) {
  echo "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ";
} else {
  echo "Ошибка ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния";
}

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ UPDATE. ВмСсто нСпосрСдствСнного Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·Π½Π°ΠΊ вопроса (?) Π² качСствС заполнитСля, Π° Π·Π°Ρ‚Π΅ΠΌ привязываСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bind_param. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $new_value Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски вставлСно Π² запрос ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ execute. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ провСряСм количСство Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… строк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства affected_rows ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

3. ИспользованиС ORM Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

ORM (Object-Relational Mapping) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, скрывая слоТности нСпосрСдствСнной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с SQL-запросами. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈ записями Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π’ PHP сущСствуСт нСсколько ORM Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Laravel Eloquent, Doctrine ΠΈ Propel. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Laravel Eloquent для измСнСния значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

use App\Models\User;

$user = User::find($user_id);
$user->column_name = "Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅";
$user->save();

echo "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ";

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ORM Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Laravel Eloquent для измСнСния значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ΠœΡ‹ сначала ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ просто измСняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца column_name ΠΈ сохраняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° save. НаконСц, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ИзмСнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с использованиСм PHP являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы измСнСния значСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ORM Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

УспСхов Π² освоСнии Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ PHP!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

PHP ΠΈ PhpMyAdmin - созданиС, Π²Ρ‹Π²ΠΎΠ΄, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

wb038 PHP измСняСм ΠΈ удаляСм запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ MySQL

ИзмСняСм (ALTER) Π²Π°ΡˆΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ PHP MySQL

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”€ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP