пхп помогите

Статус
В этой теме нельзя размещать новые ответы.

штейн

Известный
Автор темы
Проверенный
1,003
688
первый раз вообще залез в это говно и хуй пойми че делать вообще короче написал код но он нихуя не пашет
PHP:
<?php
$conn = new mysqli("localhost", "хуй", "хуй", "хуй");
$data = new DateTime('NOW');
if ($conn->connect_error) { die("Error" . $conn->connect_error); }
$srv = intval($_POST['nick']);
$num = intval($_POST['num']);
$rang = intval($_POST['rang']);
if (!empty($srv) & (!empty($num) & (!empty($rang))) {
  $result = $conn->query("INSERT INTO `users` (`nick`, `num`, `rang`, `date`) VALUES ('" . $srv . "', '" . $num ."', '" . $rang . "', '".$data->format('d.m.y')."'");
  if (mysqli_num_rows($result) == 0) { echo "Данного аккаунта нет."; }
  else { echo "<p>Данные успешно добавлены в таблицу.</p>"; }
}
else { echo "<p>Произошла ошибка.</p>"; echo $date->format('d.m.y'); }
?>
 
Решение
upload_2018-12-20_12-2-7.png

Пиши ВК, помогу с php

Laine_prikol

ДИДЖЕЙ МАДЕСТ
Проверенный
260
218
Там строгая типизация intval. Если сунуть в не строку intval вернет 10, вроде бы
Всё равно, это довольно фиговый код, контактировать строки прям в скл запросе, лучше вот это - защищенный от sql-injection
PHP:
 $db = new PDO('sqlite:users.db');
$statement = $db->prepare('INSERT INTO goods (name, mcid, count, price, desc) VALUES (:name, :mc ,:co, :pr, :desc)');
$statement->bindValue(':name', $name);
$statement->bindValue(':mc', $mcid);
$statement->bindValue(':pr', $price);
$statement->bindValue(':co', $count);
$statement->bindValue(':desc', $desc);
$result = $statement->execute();
 
  • Нравится
Реакции: AnWu
У

Удалённый пользователь 147808

Гость
Всё равно, это довольно фиговый код, контактировать строки прям в скл запросе, лучше вот это - защищенный от sql-injection
PHP:
 $db = new PDO('sqlite:users.db');
$statement = $db->prepare('INSERT INTO goods (name, mcid, count, price, desc) VALUES (:name, :mc ,:co, :pr, :desc)');
$statement->bindValue(':name', $name);
$statement->bindValue(':mc', $mcid);
$statement->bindValue(':pr', $price);
$statement->bindValue(':co', $count);
$statement->bindValue(':desc', $desc);
$result = $statement->execute();
Подтягивать ПДО для этого кусочка дерьма - не лучшее решение) В таком случае лучше заюзать non OOП функцию mysqli_real_escape_string
она отработает быстрее, ибо интерпретатору не придется создавать экземпляр класса, который подтягивает по сути ту же самую функцию
 
Статус
В этой теме нельзя размещать новые ответы.