Wordpress sql查询更新

时间:2016-07-03 20:51:48

标签: php sql wordpress

在那里,我想为用户名和传记做简单的upadate表单,有些东西丢失,我无法更新,我得到空白页面,当我重新加载没有更新sooo这是我在wordpress网站上的代码:

[insert_php]
global $current_user;
global $wpdb;


$result = $wpdb->get_results( "SELECT * FROM wpah_users WHERE ID=$current_user->ID");
foreach($result as $row)
 {
 echo "<form action='' method='post'>";
 echo "<br><br><br>";
 echo "<p>Name: &nbsp;&nbsp;&nbsp; " .$row->wpah_users ." "."<input     type='text' id='name' Name='name'value='$row->user_nicename'/> "." </p><br>  ";
echo "<p>Biography: &nbsp;&nbsp;&nbsp; " .$row->wpah_users ." "."<input  type='text' id='Biography' name='Biography' value='$row->Biography'/> "." </p><br>  ";
echo "<input type='submit' name='show' id='show' value='Upvote'>";
    echo '</form>';
}
if(isset($_POST['show'])){
    $name=$_POST["name"];
    $biography=$_POST["Biography"];



$sql ="UPDATE $wpah_users
    SET ".$Biography."`= '$Biography', WHERE  `".$ID."` = '$current_user->ID'";
 $rez = $wpdb->query($sql);


 }
 [/insert_php]

1 个答案:

答案 0 :(得分:0)

一些问题。

  1. 关于Data ValidationWHERE ".$ID."的评论实际上并非拖延......后者是良好编码标准的缩影。
  2. 我们听到了帮助,而不是帮助和嵌入糟糕的编码,这会让你和其他人遇到很多麻烦。
  3. 您假设您的代码写得很好。例如,.包含一个标识符“SQL”,在我的知识中,php会识别为在侧标识中调用另一个对象。也许你的意思是,但这是Dynamic Query,你正在使用SQLSQLSQL Injection的规则运行。
  4. 如果任何列都是@variables,那么它们需要在SQL中进行验证才能正常工作。我建议你查看Dynamic SQL - MSDN以了解SQL如何查看字符串和变量。
  5. 在查询中使用sp_executesql - MSDN。查询本身不会向用户公开,它会正确验证每个变量,使SQL成为不可能。

  6. 您将关系语言视为游标。为什么? SQL能够一次性返回整个结果集。按照原样使用i

  7. 希望这些提示可以帮助您找到解决方案。 的问候,