두 개의 다른 쿼리를 사용하여 두 테이블에 데이터를 저장하려고합니다.두 테이블에 데이터를 저장할 수 없습니다.
그 중 하나는 정상적으로 작동하지만 다른 하나는 아무 것도 저장하지 않습니다. 이 두 쿼리는 전체 페이지 스크립트의 일부입니다. 두 경우의 프리스트 쿼리는 스크립트의 일부이며 정상적으로 작동합니다. 두 번째 쿼리는 사용자 클릭에 대한 다른 레코드를 만들기 위해 작성되었습니다.
테이블 구조 actcontest위한 .. 테이블 이름이 있었다하지 act_contest actcontest 여기 복사/붙여 넣기 실수 [보정]
userid varchar(50) type varchar(50) points int(10) date date
사례 1 :
작업 쿼리
$sql = $Db1->query('Insert into ptcwalllogs (userid, user_earned)
values ('.$credituser.','.$rate.')');
쿼리 관련 문제 :
$sqlact = $Db1->query('Insert into actcontest (userid, type, points, date)
values ('$username','ptcwall',6,now())');
사례 2 :
작업 쿼리 : 쿼리와
$Db1->query("INSERT INTO `likesasapaddon` (user_id, page_id,date)
VALUES('{$thismemberinfo[userid]}', '{$get['pageid']}',NOW())");
문제 : 같은 테이블에 값을 저장할 경우 모두
$Db1->query("INSERT INTO `actcontest` (userid, type, points, date)
VALUES ('$username','facebook',6,now())");
.
다음은 사례 1의 스크립트 파일입니다.
이것은 제공자 중 하나의 게시물입니다. var에 덤프 후
<?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
?>
: 별도의 파일에 저장
.
daata.php
<?php
$sqlact = $Db1->query("Insert into actcontest (userid, type, points, date)
values ('".mysqli_real_escape_string($username)."','ptcwall',6,now())");
var_dump($sqlact);
echo " success asdasdasdasdasdasdasdasdas " ;
?>
오류 :
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in ./xxxx/daata.php on line 3 bool(true)
친절하게 안내합니다.
"저장하지 않음"이란 무엇을 의미합니까? 오류 메시지가 생성됩니까? – maja
query1과 query2 그리고 서로 옆에 씁니다. 첫 번째는 데이터를 로컬에 성공적으로 저장하지만 두 번째 것은 아무 것도하지 않습니다. 오류 없음. 아무 것도 저장되지 않습니다. –