-3

我试图将文件插入表中,但使用以下代码出现以下错误:

警告: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 回答 1

2

这是因为您正在混合使用mysql_*mysqli_功能,正确的语法mysqlmysql_real_escape_string

mysql_select_db 和 mysql_connect --> mysql

mysqli_real_escape_string --> mysqli

我建议使用 mysqli 并使用准备好的语句来避免 mysql 注入的任何风险,看看这里如何防止 PHP 中的 SQL 注入?.

于 2013-05-20T16:44:53.730 回答