Php - 尝试将url插入MySQL表

Don*_*Msc 3 php mysql url insert

我只是想用php将这些对象插入到表中.

$sql = 'INSERT INTO table VALUES( '.$active.' , '.$id.' , '.$time.' , '.$url.' ,"some string" )';
Run Code Online (Sandbox Code Playgroud)

上面代码中的网址是:http://www.youtube.com/watch?v = iSc3gGjYW8

当我将url列留空时,它可以工作,当我在其中放入一个url然后它不起作用,我得到以下错误.

"错误:您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在'://www.youtube.com/watch?v = sAYc3gGjYW8附近使用正确的语法,"某些字符串") '在第1行."

题:

为什么网址不像普通字符串那样插入?

在MySQL接受之前,我需要在url_string上执行某种功能吗?

PS - url列目前是VARCHAR(256).

任何帮助赞赏的人......

Mat*_*tty 7

你没有逃避你的投入.mysqli_real_escape_string()是你的朋友.

记住所有输入都是邪恶的.验证和清理,否则你将受到一系列肮脏的影响,例如超出界限的数据(例如当字段为varchar(10)时为124个字符串长字符串)以打开代码直到SQL注入战功.

例:

$safe_url = mysqli_real_escape_string($database_connection_object, $url);
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望保存一些键击,将该字符串更改为双引号并插入变量 - 即"blah blah $some_var foo foo"'blah blah ' . $some_var . ' foo foo'