使用 php 更新 mysql 中的信息


Updating info in mysql with php

我正在学习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 并使用预准备语句,强烈建议这样做。