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

Php mysql查询不起作用我试了很多次,php,mysql,Php,Mysql,这是一个mysql查询,我想在用户来访问时存储日期和时间 在我的网站上发表评论。但它向我展示了这一背景: "Parse error: syntax.. code'error, unexpected 'now' (T_STRING) in" $qry1='insert into life(title,quotation,photos,datetime) values('.$title.','.$quotation.','.$vphoto.''now())';' 试试这个。您误用了单引号和串联 $

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

"Parse error: syntax..
code'error, unexpected 'now' (T_STRING) in"
$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())";

注意:您的查询对Sql注入是完全开放的。了解或

$qry1=“插入到生活标题、引号、照片、日期时间值中”。$title.,“$quote.”,“$vphoto.”,now'


若您对值“%$title”使用单引号,请尝试上面的代码。在php中,编译器会发现查询的起点在“insert”附近,终点在“title”附近。若您使用单引号“x”,则在这里面必须使用双引号。这样地 $q='xyzdjch'以维护转义序列

对于您的查询,您应该使用大括号在php中包装变量

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

我假设您使用的是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();

如果您希望存储当前时间,只需使用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())';'

您的代码容易受到SQL注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者使用恶意输入值破坏您的数据库。给出了风险的解释,以及如何使用PHP/mysqli安全地编写查询的一些示例。切勿将未初始化的数据直接插入SQL。这也将有助于避免像这样的语法错误。为什么每次你阻止我的帐户发布问题,这里没有人会知道这一点。我甚至不知道这是不是人类干的。你的问题可能得到了过多的反对票,需要改进吗?很难知道,我假设它们已经被删除了?无论如何,关于您的实际问题,我建议您对使用引号在PHP和MySQL中构建字符串进行基本研究,因为这是一个非常简单的语法错误,因为PHP认为查询中的单引号实际上是在标记PHP字符串的结尾。而且,您也可以通过使用适当、安全、参数化的查询来避免这种情况。再说一次,如果你还没有研究过,现在是去做的好时机。