0

我试图用以下内容更新我的表中的记录,但是我的问题是我的浏览器输出一个没有源的空白页面,有人能看到我做错了什么吗?

<?php

require 'dbconfig.php';

//Always place this code at the top of the Page
session_start();
if (!isset($_SESSION['id'])) {
    // Redirection to login page twitter or facebook
    header("location: index.php");
}



function safe($value){
   return mysql_real_escape_string($value);
}

// Variables
$_SESSION['username'];
$_SESSION['oauth_provider'];
$uid = $_SESSION['id'];
$email = safe($_POST["email"]);
$credits = safe($_POST["credits"]);



 $query = mysql_query("UPDATE users SET email= '$email' WHERE id='$uid'") or die(mysql_error());


?>
4

3 回答 3

2

您已为查询分配了一个变量,但您没有运行它。

 $query = mysql_query("UPDATE users SET email= '$email' WHERE id='$uid'") or die(mysql_error());

所以,上面只是一个冗余代码。要运行它,您应该$query像这样调用

if($query){
echo 'Updated performed';
}else{
echo 'Update failed';
}

请注意,我不鼓励您使用mysql_功能,因为它们很弱、易受攻击且已被弃用。您应该了解更多关于PDO的信息

于 2013-05-21T18:11:52.513 回答
1

数据库操作后您没有显示任何内容。所以什么都不会打印。

于 2013-05-21T18:12:54.577 回答
0

你可以这样做:

$query = mysql_query("UPDATE users SET email= '$email' WHERE id='$uid'") or die(mysql_error());

$sql_query = mysql_query($query);

if(mysql_affected_rows()) {
    $msg = "something has changed!";
} else {
    $msg = "nothing has changed!";
}
于 2013-05-21T18:33:48.340 回答