Запрос mysqli_query($conn, $sql) или $conn-> ($sql)
Я новичок в веб-разработке, в настоящее время я не использую никаких фреймворков.
До сих пор я использовал mysqli_query($conn, $sql)
отправить запрос на сервер MySQL.
Недавно я прочитал другую технику, которая использует $conn - > query($sql)
,
я знаю это $conn->query($sql)
это ООП способ отправки запроса и mysqli_query($conn, $sql)
это процедурный метод.
Я еще не изучил объектно-ориентированный PHP. Однако, я собираюсь изучить его перед тем, как перейти к фреймворку.
Может ли кто-нибудь сказать мне преимущества использования $conn->query($sql)
над mysqli_query($conn, $sql)
? Это более безопасно? Есть ли что-то еще к этому?
Я знаю, что ООП лучше, чем процедурный, но я хотел бы знать основные преимущества с точки зрения безопасности (в основном)!
2 ответа
Ни.
Три пункта, чтобы понять это:
- Есть много, чтобы "учиться". Синтаксис объекта так же глуп, как кажется: просто стрелка для доступа к методу или свойству. Конечно, вы уже идете.
Второй вариант просто заставляет вас меньше печатать:
mysqli_query($mysqli, $query); vs. $mysqli->query($query);
- В любом случае вы должны использовать PDO, а не MySQL
Я знаю, что ООП лучше, чем процедурный
Это просто не имеет значения здесь. Не путайте объектно-ориентированное программирование с синтаксисом объекта. Первая - очень сложная тема, на изучение которой уйдут годы, и вы скоро ее не получите. В то время как синтаксис объекта - это всего лишь синтаксис - не больше, не меньше. Ничего слишком сложного, чтобы беспокоиться, ни каких-либо существенных преимуществ
"ООП лучше, чем процедурное программирование", - сказал бы я. Если мы говорим о производительности, то да, ООП эффективнее и организованнее, чем процедурное программирование. Если вы строите большой сложный проект, тогда ООП - это путь. Однако если мы говорим о безопасности, то метод процедурного программирования так же безопасен, как и метод ООП. Особенно, если вы используете PDO. Когда вы используете PDO, вы используете именованные заполнители вместо передачи переменных непосредственно в Query, что помогает предотвратить атаки, такие как SQL-инъекция. И если вы используете PDO, вам не нужно самостоятельно обрабатывать входные данные (исключая дополнительное кодирование), потому что PDO позаботится об этом.
Я бы порекомендовал вам начать обучение с PDO, потому что оно следует стилям Obejct Oriented Programming, так что если вы начнете с него, вы уже будете на шаг впереди, когда начнете писать код в OOPHP. Надеюсь, это поможет.