Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php脚本调用INSERT INTO失败_Php_Ios_Sql - Fatal编程技术网

从php脚本调用INSERT INTO失败

从php脚本调用INSERT INTO失败,php,ios,sql,Php,Ios,Sql,我有一个ios应用程序,我正在从我的在线服务器调用一个脚本,以便在表中插入一个值 在此代码中: //try to register the user $result = query("INSERT INTO login(username, pass) VALUES('%s','%s')", $user, $pass); if (!$result['error']) { //success login($user, $pass); } else { //error

我有一个ios应用程序,我正在从我的在线服务器调用一个脚本,以便在表中插入一个值

在此代码中:

//try to register the user
$result = query("INSERT INTO login(username, pass) VALUES('%s','%s')", $user, $pass);
if (!$result['error']) {
    //success
    login($user, $pass);
} else {
    //error
    errorJson($result['error']);
}
我总是进入else子句,它被打印成
数据库错误

注意:errorJson是一个函数,它从字符串生成json输出,以便将其发送回iphone应用程序

从正常播放的位置进行正常选择,因此我不可能没有连接到DB

整个代码如下:

function register($user, $pass) {
    //check if username exists
    $login = query("SELECT username FROM login WHERE username='%s' limit 1", $user);
    if (count($login['result'])>0) {
        errorJson('Username already exists');
    }
       //try to register the user
       $result = query("INSERT INTO login(username, pass) VALUES('%s','%s')", $user, $pass); 
        if (! $result['error']) {
        //success
        login($user, $pass);
        } else {
    //error
              errorJson($result['error']);
        }
}
如果用户名存在,上面的NSLog会正常打印,所以我想我可以连接到数据库

这是我的查询功能:

//executes a given sql query with the params and returns an array as result
function query() {
    global $link;
    $debug = false;

    //get the sql query
    $args = func_get_args();
    $sql = array_shift($args);

    //secure the input
    for ($i=0;$i<count($args);$i++) {
        $args[$i] = urldecode($args[$i]);
        $args[$i] = mysql_real_escape_string($link, $args[$i]);
    }

    //build the final query
    $sql = vsprintf($sql, $args);

    if ($debug) print $sql;

    //execute and fetch the results
    $result = mysql_query($link, $sql);
    if (mysql_errno($link)==0 && $result) {

        $rows = array();

        if ($result!==true)
        while ($d = mysql_fetch_assoc($result)) {
            array_push($rows,$d);
        }

        //return json
        return array('result'=>$rows);

    } else {

        //error
        return array('error'=>'Database error');
    }
}
//使用参数执行给定的sql查询,并返回一个数组作为结果
函数查询(){
全球美元联系;
$debug=false;
//获取sql查询
$args=func_get_args();
$sql=数组移位($args);
//保护输入
对于($i=0;$i$行);
}否则{
//错误
返回数组('error'=>'Database error');
}
}

您的语法错误,应该是:

mysql_query($sql, $link):

正确语法:
mysql\u查询(字符串$query[,资源$link\u identifier=NULL])
您的语法错误,应该是:

mysql_query($sql, $link):

正确语法:
mysql\u查询(字符串$query[,资源$link\u identifier=NULL])

如何更改错误案例以返回
$debug?mysql\u error($link):“数据库错误”
如何更改错误案例以返回
$debug?mysql\u错误($link):“数据库错误”
谢谢!!你帮我节省了那么多时间!!我从教程中获取了这段代码,但从未注意过。谢谢!!你帮我节省了那么多时间!!我从教程中获取了这段代码,但从未注意过这一点。