我正在学习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因隐私而更改
答案 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 ...