php - 更新数据库表行

标签 php mysql wordpress

我尝试更新数据库表行。当用户选择选项"is"时,但我收到错误

Notice: Trying to get property of non-object

使用此行$queryOptionId = $wpdb->query($wpdb->prepare("UPDATEresume_databank SET = '$optionAnswer'WHERE id = %d", $optionId->id));

如何解决这个问题?

PHP:

$result_position= $wpdb->get_results($wpdb->prepare("SELECT id, submit_time, last_name, first_name, middle_name, mobile_number, email, location, position, message, attachment_resume_id FROM resume_databank WHERE position= '" . $list_position . "' ORDER BY position ASC LIMIT $start,$end", OBJECT));

echo '<table>';
echo '<tr>';
$optionId = 0;
echo '<th>Submit Time</th>';
echo '<th>Last Name</th>';
echo '<th>First Name</th>';
echo '<th>Middle Name</th>';
echo '<th>Mobile Number</th>';
echo '<th>Email</th>';
echo '<th>Location</th>';
echo '<th>Position</th>';
echo '<th>Message</th>';
echo '<th>Resume</th>';
echo '<th>Processed?</th>';
//foreach ($result_position as $record_s){
for ($i=0;$i < $totalPosition ;++$i ){
$row = $result_position[$i];
//$optionId++;
$optionId = $result_position[0]->id;
echo '<tr>';
    echo '<td id="submit_time">' . $result_position[0]->submit_time . '</td>';
    echo '<td id="last_name">' . $result_position[0]->last_name . '</td>';
    echo '<td id="first_name">' . $result_position[0]->first_name . '</td>';
    echo '<td id="middle_name">' . $result_position[0]->middle_name . '</td>';
    echo '<td id="mobile_number">' . $result_position[0]->mobile_number . '</td>';
    echo '<td id="email">' . $result_position[0]->email . '</td>';
    echo '<td id="location">' . $result_position[0]->location . '</td>';
    echo '<td id="position">' . $result_position[0]->position . '</td>';
    echo '<td id="message">' . $result_position[0]->message . '</td>';
    echo '<td id="resumeFile'.$optionId.'"><a href=' . wp_get_attachment_url($result_position[0]->attachment_resume_id) . '>Download Resume</a></td>';
    echo '<td id="radioOption><label for="Yes">Yes</label>
        <input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption" value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>
        <label for="No">No</label>
        <input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption" value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';
echo '</tr>';
}
echo '</table>';

if (isset($_POST['optionAnswer']) && $_POST['optionAnswer']){
    $optionId = $_POST['optionId'];
    $optionAnswer = $_POST['optionAnswer'];
    echo $optionId;
    $queryOptionId = $wpdb->query($wpdb->prepare("UPDATE resume_databank SET = '$optionAnswer' WHERE id = %d", $optionId->id));
}

最佳答案

SET 语句后缺少列名称并使用 $optionId 代替 $optionId->id

    $queryOptionId = $wpdb->query($wpdb->prepare("UPDATE resume_databank 
SET = '$optionAnswer' WHERE id = %d", $optionId->id));
 ^^^^^// missing column name

尝试添加列名称

 $queryOptionId = $wpdb->query($wpdb->prepare("UPDATE resume_databank 
    SET COLUMN_NAME= '$optionAnswer' WHERE id = %d", $optionId));
// add your table column name in place of `COLUMN_NAME` AFTER SET

关于php - 更新数据库表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37430396/

相关文章:

php - 如何从 laravel 9 中删除/public 文件夹?

php - 是否可以通过标题重定向将变量发送到页面?

php - 如何结合mysql中的倍数总和和日期

javascript - 让 Ajax 为 Wordpress 上的所有用户工作

php - 如何修复手机版的背景图片没有覆盖整个页面?

css - 单击 anchor 链接后无法滚动到顶部

php - 将表单数据插入MySQL数据库表

php - 函数定义顺序重要吗?

php - 转置 mysql 表中的数据

php - 获取更新后的值与原始记录之间的差异