如何改进我的PHP添加脚本?

时间:2013-11-15 08:39:33

标签: php mysql arrays

我有一个脚本,它更新我的表的列并在其中写入一个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 ......我认为它不行,那个这就是为什么我需要一个建议:如何改进这个脚本?

提前谢谢你!

1 个答案:

答案 0 :(得分: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']);

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