我正在使用带有服务器端处理的jquery数据表。我正在尝试使join
查询生成输出。
所以我把列数组改成了这样的东西:
$aColumns = array (
"u.user_id",
"CONCAT(u.first_name, ' ', u.last_name)",
"u.gender",
"CONCAT(a.suburb, ', ', a.zip_code)",
"u.date_registered"
);
并改变了这样的查询。
$sQuery = "SELECT SQL_CALC_FOUND_ROWS u.user_id
, CONCAT(u.first_name, ' ', u.last_name)
, u.gender
, CONCAT(a.suburb, ', ', a.zip_code)
, u.date_registered
FROM users u
INNER JOIN user_addresses a ON a.user_id = u.user_id ".$sWhere.$sOrder.$sLimit;
然后我可以填充数据表。但它的搜索,过滤和排序不起作用。
当我尝试搜索,过滤或排序时,我可以得到这种错误。
'where子句'中的未知列'u.user_id'
更新
当我回显$sQuery
SELECT SQL_CALC_FOUND_ROWS u.user_id
, CONCAT(u.first_name, ' ', u.last_name)
, u.gender
, CONCAT(a.suburb, ', ', a.zip_code)
, u.date_registered
FROM users u
INNER JOIN user_addresses a ON a.user_id = u.user_id AND a.address_type = 1
WHERE (`u.user_id` LIKE '%s%' OR `CONCAT(u.first_name, ' ', u.last_name)` LIKE '%s%' OR `u.gender` LIKE '%s%' OR `CONCAT
(a.suburb, ', ', a.zip_code)` LIKE '%s%' OR `u.date_registered` LIKE '%s%') LIMIT 0, 10
Unknown column 'u.user_id' in 'where clause'
任何人都可以帮助我。 谢谢。
答案 0 :(得分:0)
您要在反引号中包装列名,而不仅仅是列名。
例如,您有:
<!-- jQuery -->
<script
src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script>
<!-- Firebase -->
<script src='https://cdn.firebase.com/js/client/2.1.0/firebase.js'> </script>
<title>View lightning map</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
// RADIUS VARIABLE
var rad;
var lat;
var log;
function retrieve (){
var x = 1;
var messagesRef = new Firebase("https://glaring-torch-4299.firebaseio.com/");
messagesRef.once('child_added', function(snapshot) {
var data = snapshot.val();
// UNTUK TEST
alert(data.latitude +" "+ data.longitude +" "+data.radius);
lat = data.latitude;
log = data.longitude;
rad = data.radius;
alert (lat + " " + log + " " + radius);
// UNTUK TEST
x++;
});
}
retrieve();
var latlang = {lat: lat, lng: log};
// center map
var citymap = {
chicago: {
center: latLang
}
};
function initMap() {
// Create the map.
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: latlang,
});
// Construct the circle for each value in citymap.
for (var city in citymap) {
// Add the circle for this city to the map.
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: latLang,
radius: rad
});
}
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCSdOKkpLmCe-
dMQ2XqfcReIvro396CGtk&signed_in=true&callback=initMap"></script>
</body>
</html>
它应该在哪里:
`u.user_id`
您需要在where子句中为所有值更改此值。