2013-02-21 55 views
0

guys 我有以下问题。我创建了一个叫做“dsaidovsite”的数据库,里面有一个名为“General Settings”的SQL表,我添加了ID和PageTopTitle collumns。在列表ID中,PageTopTitle已经添加了行0,DSPixels Design。我想要做以下事情:我打开ACP,插入网站标题,然后PHP脚本删除当前行,并再次插入新的ID为0的ID因为php应该知道哪一行准确删除,为什么我使用ID来标识该行)以及新的PageTopTitle值。这里是我试图让PHP:MYSQL/PHP:使用INSERT INTO的新手

$qry = "DELETE FROM General Settings WHERE id = 0" 
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')"; 
$result = mysql_query($qry); 

这是给我的错误unexpected T_VARIABLE上:

$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')";` 

我认为它是从0,我不知道如何使它在ID列中添加一个确切的值。我希望你明白我的观点,如果你能帮助我,我会非常高兴。

亲切的问候, 丹尼斯Saidov

+2

因为你是新手,我建议你学习PDO。 mysql_ *功能已过时,并将在不久的将来逐步淘汰。 – 2013-02-21 18:14:49

+2

你需要';'后面'$ qry =“DELETE FROM常规设置WHERE id = 0”'。我强烈建议阅读PHP的基础知识,并查看错误消息的含义。 – UnholyRanger 2013-02-21 18:14:58

+0

什么**正确**是你得到的**全**错误信息? – Jocelyn 2013-02-21 18:20:34

回答

1

您的代码应该是这样的:

$qry = "DELETE FROM General Settings WHERE id = 0"; 
mysql_query($qry); //first delete 
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`)  VALUES('0','$PageTopTitle')"; 
$result = mysql_query($qry); //then add 

你错过了这一点;在删除结束;)

PS:你应该去的mysqli或PDO ... mysql扩展已被弃用

Saludos。

1

让我们打破这一点。

首先关闭unexpected T_VARIABLE是PHP告诉你它遇到一个变量时,它不期望。考虑到这一点,它告诉你什么路线,所以我们看看那里。

   $qry = "DELETE FROM General Settings WHERE id = 0" 
error line-> $qry... 

查看错误提供的行,您会看到有一个变量,并且在它是另一行之前。在行末,我们注意到没有;。完成。这个问题是固定的。

至于你认为0可能会这样做。 PHP不关心你在MySQL命令中做什么,除了评估字符串然后传递给MySQL。你的命令是好的,因为你用双引号,$PageTopTitle将被评估。

进一步意见:

你只运行一次mysql_query,就是这样DELETE命令将不会被执行的$qry第二设置后。