Php MySQL表名更改后插入和更新不工作,但选择并删除工作正常
使用phpMyAdmin更改表名,然后更新我的代码后,插入和更新查询将不起作用。我可以在phpMyAdmin中执行查询,正如标题所解释的,DELETE和SELECT语句仍然有效。。我确信我的PDO prepared语句语法很好,try块不会抛出任何错误。我立刻想到的是我的HTML输入字段,但我已经超过了50000次。有什么想法吗 PHP代码:Php MySQL表名更改后插入和更新不工作,但选择并删除工作正常,php,html,mysql,pdo,Php,Html,Mysql,Pdo,使用phpMyAdmin更改表名,然后更新我的代码后,插入和更新查询将不起作用。我可以在phpMyAdmin中执行查询,正如标题所解释的,DELETE和SELECT语句仍然有效。。我确信我的PDO prepared语句语法很好,try块不会抛出任何错误。我立刻想到的是我的HTML输入字段,但我已经超过了50000次。有什么想法吗 PHP代码: try { $stmt = $db->prepare('UPDATE signs SET sign = :sign, phoneti
try {
$stmt = $db->prepare('UPDATE signs SET sign = :sign, phonetic = :phonetic, definition = :definition, flag = :flag, modified = :modified WHERE sign_id = :sign_id');
$stmt->bindValue(':sign_id', (int) $_POST['sign_id'], PDO::PARAM_INT);
$stmt->bindValue(':sign', $_POST['sign'], PDO::PARAM_STR);
$stmt->bindValue(':phonetic', $_POST['phonetic'], PDO::PARAM_STMT);
$stmt->bindValue(':definition', $_POST['definition'], PDO::PARAM_STR);
$stmt->bindValue(':flag', $_POST['flag'], PDO::PARAM_INT);
$stmt->bindValue(':modified', date('Y-m-d H:i:s'), PDO::PARAM_STR);
$stmt->execute();
$_SESSION['success'] = 'Definition updated successfully.';
header('Location: 'dictionary.php');
exit;
} catch (PDOException $e) {
$_SESSION['error'] = 'An error occurred while connecting to the database.'.$e->getMessage();
error_log($e->getMessage(), 0);
}
HTML代码:
<form method="post" role="form">
<fieldset>
<input type="hidden" name="sign_id" value="<?= $row->sign_id; ?>">
<div class="form-group">
<label>Sign
<input name="sign" type="text" value="<?= $row->sign; ?>" class="form-control" placeholder="Sign">
</label>
</div>
<div class="form-group">
<label>Phonetic
<input name="phonetic" type="text" value="<?= $row->phonetic; ?>" class="form-control" placeholder="Phonetic">
</label>
</div>
<div class="form-group">
<label>Definition
<textarea name="definition" class="form-control" placeholder="Definition"><?= $row->definition; ?></textarea>
</label>
</div>
<div class="form-group">
<label>Flag
<select name="flag" class="form-control">
<option value="0" <? if ($row->flag == 0) echo "selected"; ?>>None</option>
</select>
</label>
</div>
<div class="form-group">
<input name="submit" type="submit" value="Save" class="btn btn-primary">
</div>
</fieldset>
</form>
您是否尝试更改此行的第三个参数:
$stmt->bindValue(':phonetic', $_POST['phonetic'], PDO::PARAM_STMT);
为了
PHP文档说明:
PDO::PARAM_STMT(整数)
表示记录集类型。目前没有任何驱动程序支持
尝试重新启动mysql服务器。您发布的PHP代码有一个错误:“Location”行有三个撇号:“我怀疑您的查询是否运行过。”。这就是为什么它没有扔errors@Michael我在这里发布之前修改了那行。@JuanBonnett-Doh!看起来我是靠代码完成的。
PDO::PARAM_STR