0

伙计们,我有以下问题。我创建了一个名为“dsaidovsite”的数据库,并在其中创建了一个名为“General Settings”的 SQL 表,在那里我添加了 ID 和 PageTopTitle 列。在列 ID 中,PageTopTitle 已经添加了第 0 行,DSPixels 设计。我想做以下操作:我打开 ACP,插入网站标题,PHP 脚本删除当前行,并再次插入 ID 为 0 的新行(因为 php 应该知道要删除哪一行,这就是为什么我使用 ID 来标识行)和新的 PageTopTitle 值。这是我尝试制作的 PHP:

$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 列中添加一个确切的值。我希望你明白我的意思,如果你能帮助我,我会很高兴。

亲切的问候,丹尼斯赛多夫

4

2 回答 2

1

让我们分解一下。

首先unexpected T_VARIABLE是 PHP 告诉你它在不期望的时候遇到了一个变量。考虑到这一点,它告诉你是哪条线,所以我们在那里环顾四周。

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

查看错误提供的行,您会看到有一个变量,而在它之前的是另一行。在该行的末尾,我们注意到 no ;。完毕。那个问题是固定的。

至于你的想法0可能是这样做的。PHP 不关心您在 MySQL 命令中所做的事情,只是评估字符串然后传递给 MySQL。您的命令很好,因为您使用了双引号,$PageTopTitle将被评估。

进一步评论:

你只运行mysql_query一次,那是在第二次设置之后,$qry所以DELETE命令不会被执行。

于 2013-02-21T18:28:17.973 回答
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 扩展

萨卢多斯。

于 2013-02-21T18:18:43.480 回答