mysql查询中双引号和单引号之间有什么区别

Tro*_*ino 1 php mysql

我发现了问题,现在我的插入查询有效,但我不明白为什么.这是我当前的工作查询:

$add_movie = mysql_query("INSERT INTO ownedmovies VALUES ('', '{$movie_data['Title']}',
    '{$movie_data['Year']}', '{$movie_data['Rated']}', '{$movie_data['Runtime']}',
    '{$movie_data['Genre']}', '{$movie_data['Director']}', '{$movie_data['Writer']}',
    '{$movie_data['Actors']}', \"{$movie_data['Plot']}\", '{$movie_data['imdbRating']}')");
Run Code Online (Sandbox Code Playgroud)

请注意,我在绘图字段周围使用了双引号,而在其他所有内容中使用了正常.当我以与其他人相同的方式绘制绘图字段时,它不会出错但是没有任何内容会插入到表格中......现在它完美无缺.

有人可以告诉我为什么会这样吗?

谢谢

Mar*_*ers 5

我怀疑你的情节字符串包含一个引号.要避免此问题,您应该使用mysql_real_escape_string或(更好)使用参数化查询来转义字符串值.

将单引号更改为双引号的"解决方案"在这种情况下可能会起作用,但如果绘图字符串包含双引号则会失败.