我想从mysql中获取数据,显示它,让用户编辑这些数据,然后将其保存到数据库中。除了保存到数据库部分之外,我目前所有的工作都在进行。我一直相信mysql中的UPDATE查询就是实现这一点的方法。我设置了一个UPDATE查询,但运气不佳。这里有人以前经历过这个问题吗?我在这里和perlmonks上读了几篇关于这个问题的文章,似乎找不到解决我问题的答案。我将把我的一些代码放在下面。谢谢
my $dbh=DBI->connect("dbi:mysql:survey_one", "user", "password", { PrintError =>0, RaiseError => 1, AutoCommit => 1}) or die $DBI::errstr;
my $edit_sql = q{UPDATE new_survey SET question = ? WHERE title= ?};
my $sthe = $dbh->prepare($edit_sql);
$sthe->execute($questionedit, $marathon);
$sthe->finish();
我想注意的是,如果我将问题列设置为一个字符串,比如"这行吗?"我会成功的。当我尝试使用用户输入$questionedit时,它被定义为$questionedit=param('editquestion'(;这是用户可以编辑问题字段的地方。
谢谢!
以下是四种可能的结果:
-
由于没有执行代码,所以不会发生任何事情。
-
由于发生错误(使用了
RaiseError => 1
(,引发了异常。除非被捕获,否则异常最终将被打印到STDERR。 ->execute
返回字符串0E0
(这是真的,但数字为零(,因为WHERE
子句与任何行都不匹配,所以没有更新任何行- CCD_ 5返回一个正数,表示修改的行数
确定哪种情况适用,您就会知道如何继续前进。