Php插入具有select in value语法

时间:2017-03-20 18:57:50

标签: php mysql csv

这个php插入代码是我的php脚本的一部分,用于从csv文件导入值。我想通过csv文件中的其他值设置插入fld_id。 csv内容示例:123456789,title,description where:

data[0] is 123456789
data[1] is title
data[2] is description

如果插入在mysql客户端上运行,则该值正确插入,但是从php页面返回错误: fld_idcat 不能为空。

这是php代码的一部分:

/*other code*/
do {
    if ($data[0]) {
        mysql_query("
                INSERT INTO table_imports 
                (
                    fld_username,
                    fld_idcat,
                    fld_title,
                    fld_desc,
                    fld_userimport
                )
                VALUES
                (
                    '$Username',
                    (select id_cat from table_category where id_cat_random = '".addslashes($data[0])."'),
                    '".addslashes($data[1])."',
                    '".addslashes($data[2])."'
                    'userImport'                        
                )
        ");
    }
} while ($data = fgetcsv($handle,1000,",","'"));
header('Refresh: 6; URL=finishPage.php'); 
die(mysql_error());

/*other code*/

如何更正此php插入以在select中的变量$ data [0]中传递值123456789?

我希望解释我的问题

由于

1 个答案:

答案 0 :(得分:0)

对所有人来说。我已经解决了我的问题。该脚本工作正常,但变量data [0]中的值没有传递,因为csv文件格式不是UTF8。转换csv文件格式后,脚本正常工作。