Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 无法在两个表中存储数据_Php_Mysql_Sql - Fatal编程技术网

Php 无法在两个表中存储数据

Php 无法在两个表中存储数据,php,mysql,sql,Php,Mysql,Sql,我试图使用两个不同的查询将数据存储在两个表中 其中一个运行良好,但另一个没有保存任何东西。这两个查询是整页脚本的一部分。这两种情况下的第一个查询都是脚本的一部分,工作正常。 第二个查询是我写的,用来记录用户的点击次数 ACTCONTESS的表结构。。表名为actcontest而非act_contest,这是此处的复制/粘贴错误:[已更正] userid varchar(50) type varchar(50) points int(10) date date 查询有问题: $s

我试图使用两个不同的查询将数据存储在两个表中

其中一个运行良好,但另一个没有保存任何东西。这两个查询是整页脚本的一部分。这两种情况下的第一个查询都是脚本的一部分,工作正常。 第二个查询是我写的,用来记录用户的点击次数

ACTCONTESS的表结构。。表名为actcontest而非act_contest,这是此处的复制/粘贴错误:[已更正]

userid varchar(50) type varchar(50) points int(10) date date 查询有问题:

 $sqlact = $Db1->query('Insert into actcontest (userid, type, points, date)
 values ('$username','ptcwall',6,now())');
 $Db1->query("INSERT INTO `actcontest` (userid, type, points, date)
 VALUES ('$username','facebook',6,now())");
案例二:
工作查询:

  $sql = $Db1->query('Insert into ptcwalllogs (userid, user_earned) 
 values ('.$credituser.','.$rate.')');
  $Db1->query("INSERT INTO `likesasapaddon` (user_id, page_id,date)
 VALUES('{$thismemberinfo[userid]}', '{$get['pageid']}',NOW())");
查询有问题:

 $sqlact = $Db1->query('Insert into actcontest (userid, type, points, date)
 values ('$username','ptcwall',6,now())');
 $Db1->query("INSERT INTO `actcontest` (userid, type, points, date)
 VALUES ('$username','facebook',6,now())");
在这两种情况下,我都希望将值存储在同一个表中

下面是案例1的脚本文件:
这是从提供者之一发回的

<?php
$date1 = date('Y-m-d');
include("config.php");
include("includes/mysql.php");
$Db1 = new DB_sql;
$Db1->connect($DBHost, $DBDatabase, $DBUser, $DBPassword);

$your_pwd = ""; /* Postback Password */
$vip=getenv('REMOTE_ADDR');

$sent_pw = $_GET['pwd'];
$credited = intval($_GET['c']);
$credituser = intval($_GET['usr']);
$rate = trim($_GET['r']);
$type = intval($_GET['t']);
$allowed_ip = array('72.52.253.202');//PTCWall's IPS.


if(in_array($vip, $allowed_ip) && $sent_pw == $your_pwd)
{
    if($credited == '1')
    {
        if($type == '1')
        {
            $run = $Db1->query('UPDATE user SET balance=balance+'.$rate.' WHERE userid = '.$credituser);
 // This line below is used to store clicks locally
        $sql = $Db1->query('Insert into ptcwalllogs (userid, user_earned)  values ('.$credituser.','.$rate.')');
$sqlact = $Db1->query("Insert into actcontest (userid, type, points, date)  
values ('".mysqli_real_escape_string($username)."','ptcwall',6,now())");
// $sqlact = $Db1->query('Insert into actcontest (userid, type, points, date) values ("lorry","ptcwall",6,now())');
            if($run)
            {
                exit('ok');
            } else{
                exit('issue');
            }


        }elseif($type == '2'){

            $run = $Db1->query('UPDATE user SET points=points+'.$rate.' WHERE userid = '.$credituser);
            if($run)
            {
                exit('ok');
            } else{
                exit('issue');
            }
        }

    }elseif($credited == '2')
    {
        if($type == '1')
        {
            $run = $Db1->query('UPDATE user SET balance=balance-'.$rate.' WHERE userid = '.$credituser);
            if($run)
            {
                exit('ok');
            } else{
                exit('issue');
            }
        }elseif($type == '2'){

            $run = $Db1->query('UPDATE user SET points=points-'.$rate.' WHERE userid = '.$credituser);
            if($run)
            {
                exit('ok');
            } else{
                exit('issue');
            }
        }
    }
}
else{
    die();
}
//FILE 03302014
?>

以下是工作查询:

$sqlact = $Db1->query("Insert into act_contest (userid, type, points, date)
 values ('".mysqli_real_escape_string($username)."','ptcwall',6,now())");

$Db1->query("INSERT INTO `actcontest` (userid, type, points, date)
 VALUES ('".mysqli_real_escape_string($username)."','facebook',6,now())");

注意:始终对SQL查询中的字符串使用mysqli\u real\u escape\u字符串(或等效字符串)。或者您的应用程序很快就会被SQL注入攻击。

您确定您的表名为“actcontest”吗?在第一种情况下,将下划线放在其中,而不是放在第二种情况下。 您是否也确定这个表模式:userid、type、points和date?也许你有点打字错误? 如果我是你,我会先检查一下

警告:mysqli_real_escape_string()需要2个参数,1个参数在第3行bool(true)的./xxxx/daata.php中给出

此警告意味着您需要将DB连接传递给它,这是它所期望的第二个参数

('".mysqli_real_escape_string($Db1, $username)."','ptcwall',6,now())")
请参阅以下文档:



此外,请确保表中确实存在所有列

加:

如果有错误,这将发出错误信号

即:

  • 对所有查询都使用相同的方法

将其添加到文件顶部也是一件好事,这将在生产测试期间有所帮助

error_reporting(E_ALL);
ini_set('display_errors', 1);

是否应该
$username
或任何其他变量未定义。

我检查了所有内容。如果查询大量运行,它可以很好地保存数据。i、 在第一个查询的脚本页面之外,您使用简单引号包装查询,并且在其中使用简单引号而不转义它们。这个不行。您要更新的表的名称是什么?是actcontest还是act_contest?好的,在第一个例子中,你能试着用“.”连接你的值吗?就像上面的工作一样?我也试过$sqlact=$Db1->query('Insert-into-actcontest(userid,type,points,date)值('fakeusername','ptcwall',6,now());你能告诉我吗。不保存数据的原因可能是什么。。或者没有错误。。我试过这个方法,效果很好。。mysqli_查询($con,“插入actcontest值('lorry','msurf',6,now())”);--当它在脚本页面外运行时。也不起作用,此查询也不会保存任何内容。您所说的“不存储”是什么意思?它是否会生成错误消息?query1和query2,并相邻写入。第一个在本地成功保存数据,但第二个不做任何事情。没有错误。而且什么也没有存储。
if($run)
{
    exit('ok');
} else{
    die('There was an error running the query [' . $Db1->error . ']');
}
error_reporting(E_ALL);
ini_set('display_errors', 1);