2013-05-20 38 views
-3

我试着将文件插入一个表格,但即时得到与波纹管的代码以下错误:mysqli_real_escape_string()PHP错误插入文件到一个数据库

警告:mysqli_real_escape_string()预计2个参数,1鉴于

这里是我的PHP代码:

<?php 


if(isset($_FILES['uploaded_file'])) { 
    // Make sure the file was sent without errors 
    if($_FILES['uploaded_file']['error'] == 0) { 

     $sql_connection = mysql_connect("localhost", "teste", "localhost"); 
     mysql_select_db("skande5_form", $sql_connection); 

     $nameFile = mysqli_real_escape_string($_FILES['uploaded_file']['name']); 
     $mime = mysqli_real_escape_string($_FILES['uploaded_file']['type']); 
     $size = mysqli_real_escape_string($_FILES['uploaded_file']['size']); 
     $data = mysqli_real_escape_string(file_get_contents($_FILES ['uploaded_file']['tmp_name'])); 

没有人知道如何解决这个问题?

+4

1.请注意错误消息。 2.转到http://php.net/mysqli_real_escape_string并查看其他参数应该是什么。 – Quentin

+0

也许还可以使用PDO。 – migg

+3

不要混合'mysql_connect'和'mysqli_real_escape_string'!他们来自**不同的**库。 – Quentin

回答

2

这是因为你是混合两种mysql_*mysqli_功能,mysql正确的语法是mysql_real_escape_string

mysql_select_db和的mysql_connect - > mysql的

mysqli_real_escape_string - > mysqli的

我会建议使用mysqli,并使用准备好的语句来避免任何mysql注入的风险,请看这里How can I prevent SQL injection in PHP?