我正在学习php,现在我被困住了。我有代码必须使用字段 id 和 zagolovok 更新名为 title 的表中的信息,但它不会更新,并且显示白屏且没有错误。
$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 服务器/登录/通行证因隐私而更改
试试这个
$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 ...
$_REQUEST[title] $_REQUEST is an array use $_REQUEST['title']
$query = mysql_query('UPDATE title SET zagolovok = "''$_REQUEST['title']''" WHERE id = 5');
打开错误报告,它会告诉您需要在数据库名称周围加上引号。
为此,请在索引(或执行的文件)的顶部添加:
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
并使用预准备语句,强烈建议这样做。