使用php更新mysql中的信息

时间:2012-08-15 10:20:07

标签: php mysql

我正在学习php,现在我被困了。我的代码必须更新表格中带有字段id和zagolovok的信息,但它不会更新,并且显示没有错误的白屏。

$db = mysql_connect('server', 'login', 'passr' );
mysql_select_db(u20221, $db);  
$query = mysql_query("UPDATE title SET zagolovok = '$_REQUEST[title]' WHERE id = 5");  
mysql_close($db);

Ps server / login / pass因隐私而更改

3 个答案:

答案 0 :(得分:1)

$_REQUEST[title]   $_REQUEST is an array use $_REQUEST['title'] 
 $query = mysql_query('UPDATE title SET zagolovok = "\'$_REQUEST['title']\'" WHERE id = 5');

答案 1 :(得分:1)

启用错误报告,它会告诉您需要在数据库名称周围添加引号。

为此,请在索引(或执行文件)的顶部添加:

error_reporting(E_ALL);

并确保它在您的浏览器中可见:

ini_set('display_errors', 'On');

另外值得注意的是,您的代码容易受SQL Injection攻击,以解决此问题(以及您的其他未定义常量):

$safeTitle = mysql_real_escape_string($_REQUEST['title']);
$query = mysql_query("UPDATE title SET zagolovok = '$safeTitle' WHERE id = 5"); 

或者,您可以切换到PDO并使用强烈推荐的预准备语句。

答案 2 :(得分:1)

试试这个

$db = mysql_connect('server', 'login', 'passr' );
if( !$db) die("no connection");
mysql_select_db(u20221, $db);  
$query = mysql_query("UPDATE title SET zagolovok = '".$_REQUEST['title']."' WHERE id = 5");  
mysql_close($db);

标题是您的表名还是列? 语法是  UPDATE table SET column = value WHERE ...