我正在使用jQuery自动完成查看结果作为用户类型下拉,在我的情况下我从数据库中获取用户名来显示,
RecordViewFooter().microphoneButton.addTarget(self, action: "microphoneButtonPressed", forControlEvents: UIControlEvents.TouchUpInside)
}
func microphoneButtonPressed(){
print("microphone button pressed")
volumeAdjuster = VolumeAdjusterView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height))
self.view.addSubview(volumeAdjuster!)
}
这里的问题是,很多名字都像o'livia或de'silva,这个额外的 <?php
foreach ($stmt = $link->query('select u.id, u.display_name from user u inner join accounts a on u.id=a.uid where a.account_type !="bot" order by u.display_name ASC') as $value)
{
?>
display_name.push('<?php echo $value["display_name"] ?>');
user_id.push('<?php echo $value["id"] ?>');
<?php
}
?>
导致查询出现意外行为,它不显示结果而是打印此错误消息。
'
虽然我知道我没有正确格式化我的查询,但我尝试了很多选项但没有用,知道如何正确地使用所有名称?
答案 0 :(得分:2)
如果你的字符串只包含'never'...那么可以解决如下... user_id.push( '5648'); display_name.push(“Boody L'Dally”);
答案 1 :(得分:1)
您需要转义来自数据库的数据。 有许多功能可以逃避数据,值得进一步阅读。 以下是您的一个例子:
display_name.push('<?= htmlspecialchars($value["display_name"]) ?>');
答案 2 :(得分:-1)
function autocomplet() {
var min_length = 0;
var keyword = $('#country_id').val();
if (keyword.length >= min_length) {
$.ajax({
url: 'ajax_refresh.php',
type: 'POST',
data: {keyword:keyword},
success:function(data){
$('#country_list_id').show();
$('#country_list_id').html(data);
}
});
} else {
$('#country_list_id').hide();
}
}
function set_item(item) {
// change input value
$('#country_id').val(item);
// hide proposition list
$('#country_list_id').hide();
}