0

我有一个脚本,它更新我的表的列并在其中写入一个 id。

我需要检查该列是否为空,如果不是:我添加一个','。

这是脚本:

$subs = mysql_fetch_array(mysql_query("SELECT subscribed_user_id FROM users WHERE user_id=".(int)$_GET['user']));

$subs_array = array();

$subs_array=explode(',', $subs['subscribed_user_id']);

if(!in_array($_COOKIE['user_id'], $subs_array))
{
    if($subs['subscribed_user_id']=='')
    {
    $add='';

    } else {

        $add = $subs['subscribed_user_id'].',';
    }
       mysql_query("UPDATE users SET subers=subers+1, subscribed_user_id='".$add.$_COOKIE['user_id']."' WHERE user_id=".(int)$_GET['user']);

   }

我有一个想法:总是添加 ',' ,但是当我选择它时,不要使用数组的全长,而是使用数组的全长,例如,array.length-2 ... 我认为这不行,这就是为什么我需要一个建议:我怎样才能改进这个脚本?

先感谢您!

4

1 回答 1

5

您可以通过使用弃用的扩展来改进它,例如:

PDO:

$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->execute(array(':username' => $_GET['username']));

或 MySQLi:

$query = $mysqli->prepare('SELECT * FROM users WHERE username = s');
$query->bind_param('s', $_GET['username']);

这些扩展具有内置的参数化功能,可让您安全地将数据插入数据库。

于 2013-11-15T08:44:21.860 回答