如何获取 $wpdb ->query 的结果以了解是否成功
How to get the result of $wpdb ->query to know if it was successful
我目前正在 wordpress 网站上工作,
我正在使用用户可以修改的表单,以便更新数据库:
这是 HTML/PHP 代码:
echo '<form class="form-verifdoc" target="noredirect" method = "post">';
echo '<label class="label-verifdoc" style="float:left;margin-top:10px;margin-right:10px;"for="'.$name_input_verifdoc.'">'.$label_element.'</label><textarea style="float:right;margin-bottom:10px;vertical-align:middle!important;border-left: 5px solid black;resize:vertical;" rows="1" type="text" name="variables['.$name_input_verifdoc.']">'.$contenu_input_verifdoc.'</textarea>';
echo'<input name="idchamps['.$id_input_verifdoc.']" type="hidden" value="'.$id_input_verifdoc.'">';
echo '<div class="div_edit_verifdoc">';
echo '<input type="submit" id="'.$id_input_verifdoc.'" class="bouton-edit-champ-doc" onclick="return confirm(\'Voulez-vous vraiment modifier les informations de ce champ ?\') && AlertQuery()" name="bouton-envoi-editform" value="Editer le champ"/>';
echo '</div>';
echo '<iframe name="noredirect" style="display:none;"></iframe>';
echo '</form>';
我使用确认,以便用户必须确认他想要更新数据。
这里是使用 wpdb 查询更新 MySQL 数据的脚本:
<script>
<?php
if (isset($_POST['bouton-envoi-editform']) && !empty($_POST['bouton-envoi-editform'])) {
foreach($_POST['variables'] as $variableName => $variable){
$ValeurChampModif = $variable;
}
foreach($_POST['idchamps'] as $champid => $idchamp){
$Champ_id = $idchamp;
}
$modif_doc_bdd = $wpdb->query($wpdb->prepare("UPDATE `mod114_frmt_form_entry_meta_copie` SET `meta_value` = '$ValeurChampModif' WHERE `mod114_frmt_form_entry_meta_copie`.`meta_id` = $Champ_id;"));
} else {
}
?>
function AlertQuery($modif_doc_bdd){
<?php
if( $modif_doc_bdd ){
?>
alert('Les modifications ont bien été enregistrées.');
<?php
}else{
?>
alert('⚠ ERREUR, les modifications n\'ont pas pu être enregistrées. Veuillez ré-essayer.');
<?php
}
?>
}
</script>
我正在尝试让函数 AlertQuery 在更新数据时在 wpdb 查询是否成功时弹出警报。
但我似乎无法获取 $wpdb 查询的响应...
我尝试将函数放入所有内容,但没有成功,因为它不会提示弹出窗口。
如果您使用 $wpdb->update()
它 returns 成功时更新的行数或错误时更新的行数,如果您随后检查 $wpdb->update()
是否为假,您可以调用您的 AlertQuery()
相应的方法。
我希望我的解释正确,请参阅此处的文档:https://developer.wordpress.org/reference/classes/wpdb/update/#return
$modif_doc_bdd = $wpdb->query($wpdb->prepare("UPDATE `mod114_frmt_form_entry_meta_copie` SET `meta_value` = '$ValeurChampModif' WHERE `mod114_frmt_form_entry_meta_copie`.`meta_id` = $Champ_id;"));
if ( false === $modif_doc_bdd ) {
// There was an error.
} else {
// No error. You can check updated to see how many rows were changed.
}
我目前正在 wordpress 网站上工作,
我正在使用用户可以修改的表单,以便更新数据库:
这是 HTML/PHP 代码:
echo '<form class="form-verifdoc" target="noredirect" method = "post">';
echo '<label class="label-verifdoc" style="float:left;margin-top:10px;margin-right:10px;"for="'.$name_input_verifdoc.'">'.$label_element.'</label><textarea style="float:right;margin-bottom:10px;vertical-align:middle!important;border-left: 5px solid black;resize:vertical;" rows="1" type="text" name="variables['.$name_input_verifdoc.']">'.$contenu_input_verifdoc.'</textarea>';
echo'<input name="idchamps['.$id_input_verifdoc.']" type="hidden" value="'.$id_input_verifdoc.'">';
echo '<div class="div_edit_verifdoc">';
echo '<input type="submit" id="'.$id_input_verifdoc.'" class="bouton-edit-champ-doc" onclick="return confirm(\'Voulez-vous vraiment modifier les informations de ce champ ?\') && AlertQuery()" name="bouton-envoi-editform" value="Editer le champ"/>';
echo '</div>';
echo '<iframe name="noredirect" style="display:none;"></iframe>';
echo '</form>';
我使用确认,以便用户必须确认他想要更新数据。
这里是使用 wpdb 查询更新 MySQL 数据的脚本:
<script>
<?php
if (isset($_POST['bouton-envoi-editform']) && !empty($_POST['bouton-envoi-editform'])) {
foreach($_POST['variables'] as $variableName => $variable){
$ValeurChampModif = $variable;
}
foreach($_POST['idchamps'] as $champid => $idchamp){
$Champ_id = $idchamp;
}
$modif_doc_bdd = $wpdb->query($wpdb->prepare("UPDATE `mod114_frmt_form_entry_meta_copie` SET `meta_value` = '$ValeurChampModif' WHERE `mod114_frmt_form_entry_meta_copie`.`meta_id` = $Champ_id;"));
} else {
}
?>
function AlertQuery($modif_doc_bdd){
<?php
if( $modif_doc_bdd ){
?>
alert('Les modifications ont bien été enregistrées.');
<?php
}else{
?>
alert('⚠ ERREUR, les modifications n\'ont pas pu être enregistrées. Veuillez ré-essayer.');
<?php
}
?>
}
</script>
我正在尝试让函数 AlertQuery 在更新数据时在 wpdb 查询是否成功时弹出警报。
但我似乎无法获取 $wpdb 查询的响应...
我尝试将函数放入所有内容,但没有成功,因为它不会提示弹出窗口。
如果您使用 $wpdb->update()
它 returns 成功时更新的行数或错误时更新的行数,如果您随后检查 $wpdb->update()
是否为假,您可以调用您的 AlertQuery()
相应的方法。
我希望我的解释正确,请参阅此处的文档:https://developer.wordpress.org/reference/classes/wpdb/update/#return
$modif_doc_bdd = $wpdb->query($wpdb->prepare("UPDATE `mod114_frmt_form_entry_meta_copie` SET `meta_value` = '$ValeurChampModif' WHERE `mod114_frmt_form_entry_meta_copie`.`meta_id` = $Champ_id;"));
if ( false === $modif_doc_bdd ) {
// There was an error.
} else {
// No error. You can check updated to see how many rows were changed.
}