我有一个文本区输入,我正在尝试发送到我的数据库
“istanbul'unkanayanayrasıolalanulaşım,özellikleanadoluyakasındankartal'dankadıköy'uelaşımınneredeyse2saatevarmasıyüzündenperişan。devletindepolitikalarıaikikar.17'austosgünüverilensöztutulurmu merak ediyoruz。”
文本。
它转到>
$bahisaciklamax = $_POST["bahisaciklama"];
$bbb=str_replace("\r\n", "<br />", $bahisaciklamax);
$bahisaciklama=strtolower(strip_tags($bbb, '<br><br /><br/><br />'));
并提供此错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'un kanayan yarası olan ulaşım, özellikle anadolu yakasından kartal'dan kadıköy'e' at line 1
我该如何解决这个问题?
答案 0 :(得分:4)
您的代码容易出现 SQL Injection 。使用 PDO 或 MYSQLI
使用PDO扩展的示例:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
?>
这将允许您插入带单引号的记录。