mysql查询不起作用我试过很多次了

wvyml7n5  于 2021-06-20  发布在  Mysql
关注(0)|答案(5)|浏览(376)

这是mysql查询,每当有用户来我的网站发表评论时,我都想存储日期和时间。但它向我展示了这个背景:

"Parse error: syntax..
code'error, unexpected 'now' (T_STRING) in"
$qry1='insert into life(title,quotation,photos,datetime) values('.$title.','.$quotation.','.$vphoto.''now())';'
r6vfmomb

r6vfmomb1#

试试这个。你误用了单引号和串联。

$qry1 = "INSERT INTO life ( title, quotation, photos, datetime ) VALUES('$title', '$quotation', '$vphoto', NOW())";

注意:您的查询对sql注入是完全开放的。了解prapred语句或pdo

jm2pwxwz

jm2pwxwz2#

在php中,如果您使用单引号'x',那么在这里您必须使用双引号'。像这样$q='xyz(“djch”)'来维持转义序列。
对于您的查询,您应该使用大括号来 Package php中的变量。

$q = "INSERT INTO life (v1,v2,v3) VALUES ('{$v1}','{$v2}','{$v3}')";
kknvjkwl

kknvjkwl3#

如果要存储当前时间,只需使用mysql的函数。

mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");

如果需要使用php来实现,那么可以使用y-m-dh:i:s格式

$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");

您的代码:

$qry1='insert into life(title,quotation,photos,datetime) values('.$title.','.$quotation.','.$vphoto.''now())';'

更改为:

$qry1="insert into life(title,quotation,photos,datetime) values('.$title.','.$quotation.','.$vphoto.', now())';'
vbkedwbf

vbkedwbf4#

$qry1='insert into life(title,quoting,photos,datetime)值(“'.$title.'”,“'.$quote.'”,“'.$vphoto.'”,now())';
若您对值(“.$title.”)使用单个代码,请尝试上面的代码。编译器会发现查询的起点在“insert”附近,终点在“title”附近

9w11ddsr

9w11ddsr5#

我假设您使用的是php。运行查询时,应使用准备好的语句,因为它有很多好处,例如:
减少了解析时间,因为您的查询只需准备一次。
sql注入预防。

$conn = new mysqli($servername, $username, $password, $dbname);

// Check that your connection was successful
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// prepare and bind
$qry1 = $conn->prepare("INSERT INTO life (title, quotation, photos, datetime) VALUES (?, ?, ?, NOW())");
$qry1->bind_param("sss", $title, $quotation, $vphoto);

// set parameters and execute
$title = "Lorem Ipsum";
$quotation = "Lorem Ipsum";
$vphoto = "lorem@ipsum.com";

$qry1->execute();
$qry1->close();

$conn->close();

相关问题