我目前正在使用mysql/php/javascript/googlecharts製作一個圖表。MySQL/PHP/Javascript - 在回顯文本中引起錯誤的撇號
但是,當我在Google Charts的Javascript中回顯時,我的't_text'列不斷轉義。 我需要在哪裏放置一個真正的轉義字符串來解決這個問題?
Example of Problem:
Tweet 1) "He'll be the last one there"
Tweet 2) "It's her pen"
解決辦法是無視'(撇號)與mysqli_real_escape_string聲明,但我不知道要實現它
<?php
$tablequery = mysqli_query($dbc,"SELECT handle,t_text, t_date,t_time,sentiment, score FROM tweets ");
while ($r=mysqli_fetch_assoc($tablequery))
{
$handle = $r["handle"];
$t_text= $r["t_text"];
$t_date= $r["t_date"];
$t_time= $r["t_time"];
$sentiment = $r["sentiment"];
$score= $r["score"];
$tablechart[] = "['".$handle."','".$t_text."','".$t_date."','".$t_time."','".$sentiment. "','".$score."']";
}
?>
<script type="text/javascript">
google.load("visualization", "1", {packages:["table"]});
google.setOnLoadCallback(drawTable);
function drawTable() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'User');
data.addColumn('string', 'Text');
data.addColumn('string', 'Date');
data.addColumn('string', 'Time');
data.addColumn('string', 'Sentiment');
data.addColumn('string', 'Score');
data.addRows([
<?php echo(implode(",",$tablechart));?>
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true});
}
</script>
你必須將其插入查詢之前逃脫你的文字。如果你不逃避,不僅你會得到錯誤,而且你也容易受到SQL注入攻擊。 – 2014-09-13 12:41:14
不要*刪除*單引號*,而是*轉義*他們。另外*返回蜱*不一樣*單引號* – 2014-09-13 12:42:48
謝謝洛倫茲 - 所以,如果我逃避隨機文本將無所謂? – Zachary 2014-09-13 12:42:55