2016-03-02 46 views
0

我想嵌入我的web应用程序到服务器,在localhost没有问题,但是当我把我的应用程序并运行它有几个问题。错误MySQL服务器版本的正确语法使用附近''在第1行

这是问题

UPDATE HistoriKegiatan SET TglSelesaiPemberkasan = CURDATE(), WaktuSelesaiPemberkasan = CURTIME() WHERE IdHistori = 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 1 

这是我的代码

$idKegiatan = (int) $_GET['idkegiatan']; 
$NmKegiatan = $_GET['nmkegiatan']; 
$transferto = $_POST['transferto']; 

$catatan = $_POST['catatan']; 
$tim = $_SESSION['team']; 
$username = $_SESSION['user_name']; 

$sql = "SELECT Max(IdHistori) as LastHId FROM HistoriKegiatan WHERE IdHistori IN (Select IdHistori from HistoriKegiatan where idKegiatan = $idKegiatan)"; 

    $result = dbQuery($sql); 
    $no = dbNumRows($result); 
    $data = dbFetchAssoc($result); 
    $lastHId = $data['LastHId']; 


$sql = "UPDATE HistoriKegiatan SET TglSelesaiPemberkasan = CURDATE(), WaktuSelesaiPemberkasan = CURTIME() WHERE IdHistori = $lastHId "; 
echo $sql; 
dbQuery($sql); 

任何人都可以帮我解决这个问题? 对不起,我的英语

+1

了解准备小号物业 – Jens

+1

看起来像'$ lastHId'没有设置 – Jens

+0

请发布您的数据库架构 - 表,列等 –

回答

0

试试这个

$sql = "SELECT Max(IdHistori) as LastHId FROM HistoriKegiatan WHERE IdHistori IN (Select IdHistori from HistoriKegiatan where idKegiatan = '$idKegiatan')"; 

$sql = "UPDATE HistoriKegiatan SET TglSelesaiPemberkasan = CURDATE(), WaktuSelesaiPemberkasan = CURTIME() WHERE IdHistori = '$lastHId '"; 

其对你的工作

+0

你的第一个语句将给出一个语法错误 – andrewsi

+0

请告诉错误 –

+0

双引号字符串中的非转义双引号。只需将'$ idKegiatan'换成单引号即可。 – Progrock

0

这必须是:WHERE IdHistori = '$lastHId'";

$sql = "UPDATE HistoriKegiatan SET TglSelesaiPemberkasan = CURDATE(), WaktuSelesaiPemberkasan = CURTIME() WHERE IdHistori = '$lastHId'"; 
echo $sql; 
+2

这取决于什么数据类型IdHistori是。如果它是一个整数,你不需要它 –

相关问题