2015-04-30 2 views
0

Я пытаюсь сохранить локальный часовой пояс клиента на домашней странице хостинга ut Я получаю эту ошибку в своем андроиде Logcat 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 '' at line 7 Как я могу это сделать? Я попробовал это с date_default_timezone_setхранить локальное время клиента в таблице mysql

Я appreaciate любую помощь.

<?php 
$data = json_decode (file_get_contents ('php://input', true)); 


$mac = $data->{'mac'}; 
$latitude = $data->{'latitude'}; 
$longitude = $data->{'longitude'}; 
$route = $data->{'route'}; 
$created_at = date_default_timezone_set("Europe/Berlin"); 


$con = new mysqli ("domin.com", "username", "password", "ddatabase"); 


// check whether route's table exist. 
$results = $con->query ("SHOW TABLES like 'bus' ") or die (mysqli_error()); 

if (($results->num_rows) == 1) {$sql = "REPLACE INTO bus(mac, route, latitude, longitude, created_at) 
      VALUES(?, ?, ? , ?, ?)"; 
    $stmt = $con->prepare($sql); 

    if(false === $stmt){ 
    echo "prepare() failed: "; 
    } 

    $rc = $stmt->bind_param("sssss",$mac,$route, $latitude,$longitude, $created_at); 
echo $rc; 
    if (false===$rc) { 
    echo "bind_param() failed: "; 
} 

    $rc = $stmt->execute(); 

    if (false===$rc) { 
echo "execute failed."; 
    } 

    $stmt->close(); 

} else { 
    $create = "CREATE TABLE bus 
     (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
     mac VARCHAR(30) NOT NULL UNIQUE, 
     route int(11) , 
    latitude FLOAT(10,6) NOT NULL , 
    longitude FLOAT(10,6) NOT NULL, 
    created_at TIMESTAMP NOT NULL" ; 
    $stmt = $con->prepare($create) or die ($con->error); 
    $stmt->execute(); 

    $stmt->close(); 

} 

ответ

0

date_default_timezone_set возвращает bool, а не дату. Вы можете использовать date без указания параметра timestamp, чтобы получить текущее время клиента. Убедитесь, что формат даты совпадает с тем, что ожидает ваша таблица.

Смежные вопросы