- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,我知道周围有几个类似的问题,但我找不到一个足够接近的问题。我有一个编辑和更新表单,它正在获取所提取的所选行的条目,该表单工作正常。然而,当尝试调用更新函数时,它不起作用,但根据我尝试修复它的方式,给我返回了各种错误。当前版本抛出上述错误代码,更具体的是指 SQL 代码,我看不出有什么问题:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(event_name='test', event_description='test', event_cate' at line 2
根据上面的内容,变量显然是按预期传递的,但事件没有被更新。我已经尝试过传递 event_id 和不传递 event_id,event_id 是自动增量的并且不应更新,此外还有一个 user_id_fk 我认为这里与此无关。我的 createevent 函数几乎相同并且有效。我是否需要传递数组才能更新现有行?
我的页面 php:
if(isset($_POST['update']))
{
$eventid=($_POST['eventid']);
$eventname=strip_tags($_POST['eventname']);
$eventdescription=strip_tags($_POST['eventdescription']);
$eventcategory=strip_tags($_POST['eventcategory']);
$eventdate = $_POST["eventdate"];
$sqlDate = date("Y-m-d",strtotime($eventdate));
$eventvenue=strip_tags($_POST['eventvenue']);
$eventlocation=strip_tags($_POST['eventlocation']);
if($eventname=="") {
$error[] = "provide eventname !";
}
if($eventcategory=="") {
$error[] = "provide eventcategory !";
}
if($eventdescription=="") {
$error[] = "provide eventdescription !";
}
if($eventlocation=="") {
$error[] = "provide eventlocation !";
}
else if($eventdate=="") {
$error[] = "provide a date !";
}
else if($eventvenue=="") {
$error[] = "provide eventvenue !";
}
else
{
if($event->updateevent($eventid,$eventname,$eventdescription,$eventcategory,$eventdate,$eventvenue,$eventlocation))
{
$event->redirect('members.php');
echo "Your event has been successfully updated.";
}
}
}
引用的html表单:
<div id="updateevent">
<form action="" method="POST">
<input type='hidden' name="eventid" required="required" value="<?php echo $row['event_id']; ?>">
<label>Event title: </label>
<input type="text" name="eventname" required="required" value="<?php echo $row['event_name']; ?>"/><br /><br />
<label>Description: </label>
<input type="text" name="eventdescription" required="required" value="<?php echo $row['event_description']; ?>"/><br /><br />
<label>Category: </label>
<input type="text" name="eventcategory" required="required" value="<?php echo $row['event_category']; ?>"/><br /><br />
<label>Venue: </label>
<input type="text" name="eventvenue" required="required" value="<?php echo $row['event_venue']; ?>"/><br /><br />
<label>Event date: </label>
<input type="date" name="eventdate" required="required" value="<?php echo $row['event_date']; ?>"/><br /><br />
<label>Event location: </label>
<input type="text" name="eventlocation" required="required" value="<?php echo $row['event_location']; ?>"/><br /><br />
<input type="submit" class="button" name="update" value="Update" /></form>
</form>
</div>
我的 events.php 类中被调用的函数:
public function updateevent($event_id,$event_name,$event_description,$event_category,$event_date,$event_venue,$event_location)
{
try
{
$stmt = $this->conn->prepare("UPDATE events
SET event_name=:eventname, //UPDATED
event_description=:eventdescription,
event_category=:eventcategory,
event_date=:sqldate,
event_venue=:eventvenue,
event_location=:eventlocation
WHERE event_id=:eventid");
$stmt->bindparam(":eventid", $event_id);
$stmt->bindparam(":eventname", $event_name);
$stmt->bindparam(":eventdescription", $event_description);
$stmt->bindparam(":eventcategory", $event_category);
$stmt->bindparam(":sqldate", $event_date);
$stmt->bindparam(":eventvenue", $event_venue);
$stmt->bindparam(":eventlocation", $event_location);
$stmt->execute();
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
感谢您对此提供的任何帮助
**
UPDATE: Upon removing the brackets within the UPDATE statement I get not error back but the row still is not updating.
**
最佳答案
尝试删除(
和)
:
UPDATE events
SET event_name=:eventname,
event_description=:eventdescription,
event_category=:eventcategory,
event_date=:sqldate,
event_venue=:eventvenue,
event_location=:eventlocation
WHERE event_id=:eventid
SET 没有 (
和 )
:https://dev.mysql.com/doc/refman/5.7/en/update.html
关于PHP mySQL 更新行函数未按预期工作 - SQLSTATE[42000] : Syntax error or access violation: 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615046/
env file:环境文件: APP_ENV=localAPP_DEBUG=trueAPP_KEY= ...........DB_HOST=srv3.linuxisrael.co.ilDB_D
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我在这里有一个 plpgsql 函数来指示在 ANALYZE 期间是否引发了任何警告: CREATE OR REPLACE FUNCTION analyzeWarning() RETURNS inte
我创建了一个过程,如果输入等于 0,该过程将抛出 SQLException 并显示错误消息“dwa”。 CREATE PROCEDURE enter_the_dragon(test INT) BEGI
我在尝试通过 8443 门户连接到我的服务器时收到此错误: ERROR: Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2002] No such file
在插入投票之前,我需要检查每个用户的声誉数。因此,为了这个目的,我有一个像这样的TRIGGER: CREATE TRIGGER check_reputation BEFORE INSERT ON vo
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error oraccess violation: 1064 You have
MYSQL 在处理通过别名调用的表的子查询时触发 SQLSTATE[42S02] 错误 “更新 call_log AS c1 INNER JOIN call_log AS c2 ON c1.id =
我在 PostgreSQL (mixbest) 中有一个包含 73018 行的表。我要选择的字段是: sample integer m integer, pciv double prec
我刚刚收到此错误...请帮我解决这个错误! www.sp-power.com Error in file: "/home/sppower6/public_html/app/code/core/Mage
例如,我有产品[香蕉]和产品[橙色],我希望这两个产品在数据库中使用相同的图片。但是,当我尝试添加与第一个产品具有相同图片的第二个产品时,我收到此错误: SQLSTATE[23000]: Integr
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 7 年前。 编辑问题以包含 desired behavior, a specific problem
Closed. This question is off-topic。它当前不接受答案。
运行时: DELIMITER $$ CREATE TRIGGER tr_test BEFORE UPDATE ON test FOR EACH ROW BEGIN
我的代码大部分已经运行起来了。我似乎不断地一遍又一遍地犯同样的错误。我认为这是因为我在错误的地方放了逗号,但我不知道。谁能帮我看一下这段代码吗? setAttribute(PDO::ATTR_ERRM
我正在尝试获取我的 yii 应用程序的时间范围。 这是我的模型: public function timeRange($attribute, $params) { $criteria
prepare($sql); foreach($parameters as $name=>$value){ $query->bindValue($name,$value);
我有一个前触发器,它可以防止数据更新到表中。为此,我使用了“SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'This operation is not allo
您好,我在 SQL 查询中遇到错误,无法弄清楚问题出在哪里。这是到目前为止在 Barmar 的帮助下的查询。 $query = "SELECT c.*, count(s.curso_id) as c
我构建了 restful API 及其工作,但是当我尝试将参数传递给链接时,下面显示错误,尽管当我打印参数时结果是正确的! 详细信息 Type: PDOException Code: 42000 Me
我是一名优秀的程序员,十分优秀!