简单的MYSQL插入语句不起作用,我没有看到

时间:2013-07-21 16:55:25

标签: mysql

这是我目前所拥有的,超级基础。仍然无法使其正常工作:/

 $connection = mysql_connect("localhost","root","")
    or die ("Couldn't connect to server");
 $db = mysql_select_db("streetRider",$connection)
    or die ("Couldn't select database");




 $result = mysql_query(sprintf("INSERT INTO video(id, parent_id, video, coverImage, 
    ts_created, is_void) VALUES('%s','%s','%s', '%s', '%s','%s')", $unique_id,           $parent_id,$videoDirectory,$imageDirectory,  $ts_created,  $is_void));

 What am i Missing???? :(

OK,所以如果我存储的变量之一与此相同,那么它可以工作:

    $videoDirectory = 'userVideos/'.$unique_id;

当我的变量等于this时,插入失败:             $ videoDirectory ='userVideos /'.$ unique_id。'。mp4';

它真的令人费解和令人沮丧,但这就是我想出来的。视频是数据类型varchar(50)。

2 个答案:

答案 0 :(得分:1)

您已使用%s分配了列,但您的query功能确实在其中进行了sprintf()调用?试试这个

$result = mysql_query(sprintf("INSERT INTO video(id, parent_id, video, coverImage, 
ts_created, is_void) 
VALUES('%s','%s','%s', '%s', '%s','%s')",
$unique_id, $parent_id,$videoDirectory,$imageDirectory,  $ts_created,  $is_void));

sprintf manual


  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:0)

我不知道你是否正在使用预处理语句或mysql,如果你被标记为mysql然后试试这个

    $result = mysql_query("INSERT INTO video(id, parent_id, video, coverImage, ts_created, is_void) VALUES ($unique_id, $parent_id,$videoDirectory,$imageDirectory,  $ts_created,  $is_void ) ")