在我的mysql数据库中,我有一些包含单引号’
的文本,当我尝试获取该数据时,它显示为null。我该如何解决这个问题。
由于
这就是我正在做的事情
$products = "SELECT * FROM products ";
$result = @mysql_query($products, $connection) or showSQLError();
if($result) {
$results_array = array();
while($row = mysql_fetch_array($result)) {
$results_array[] = array(
'name' => $row['name'],
'description' => mysql_real_escape_string(nl2br($row['description']))
);
}
}
我的字符串是
Puppy’s dental health.
,结果是
"description":null
答案 0 :(得分:-1)
这里有一些固定代码:
mysqli
而不是mysql
,因此您可以使用更安全且支持更好的技术@
的使用以禁止显示错误消息;压抑错误是PHP的一种愚蠢能力,这意味着任何使用该代码的人都可能会收到PHP级警告并且不知情,这反过来会导致混淆。删除可能会从输出中删除单引号的mysql_real_escape_string()
$connection = mysqli_connect('host', 'user', 'password', 'database');
$result = mysqli_query($connection, $products) or die(mysqli_error($connection));
if ($result){
$results_array = [];
while ($row = mysqli_fetch_array($result)){
$results_array[] = [
'name' => $row['name'],
'description' => nl2br($row['description']),
];
}
}