2016-09-06 6 views
0

私のデータベースをループして、そのユーザーがすでに別のテーブルに存在するかどうかを確認しようとしています。彼らがしている場合、私は値をインクリメントしたい、しない場合は、ユーザーを追加したい。私は、彼らが他のテーブルに存在するかどうかを確認するためにSQLに追加するときしかしPHPループスルー結果

<?php 
 

 
$servername = "p:10*********"; 
 
$username = "*******"; 
 
$password = "*******"; 
 
$dbname = "******"; 
 

 
// Create connection 
 
$conn = new mysqli($servername, $username, $password, $dbname); 
 
// Check connection 
 
if ($conn->connect_error) { 
 
    die("Connection failed: " . $conn->connect_error); 
 
} 
 

 
$sql = "SELECT * FROM payroll WHERE user != ' ' "; 
 
$result = $conn->query($sql); 
 

 
if ($result->num_rows > 0) { 
 

 
echo $result->num_rows; 
 
while($row = $result->fetch_assoc()) { 
 

 

 

 

 
    
 
$user= $row['user']; 
 
$time= $row['time']; 
 
$id= $row['id']; 
 

 
echo $id; 
 

 
echo $user; 
 

 

 

 
    
 
} 
 

 
} else { 
 
    echo "0 results"; 
 
} 
 
$conn->close(); 
 

 

 

 
?>

私は喜んでそれ以下のコードを実行するすべての結果をループループは正しく機能しなくなり、毎回同じユーザーにエコーします。

<?php 
 

 
$servername = "*******"; 
 
$username = "******"; 
 
$password = "********"; 
 
$dbname = "*****"; 
 

 
// Create connection 
 
$conn = new mysqli($servername, $username, $password, $dbname); 
 
// Check connection 
 
if ($conn->connect_error) { 
 
    die("Connection failed: " . $conn->connect_error); 
 
} 
 

 
$sql = "SELECT * FROM payroll WHERE user != ' ' "; 
 
$result = $conn->query($sql); 
 

 
if ($result->num_rows > 0) { 
 

 
echo $result->num_rows; 
 
while($row = $result->fetch_assoc()) { 
 

 

 

 

 
    
 
$user= $row['user']; 
 
$time= $row['time']; 
 
$id= $row['id']; 
 

 
echo $id; 
 

 
echo $user; 
 
$sql = "SELECT * FROM smsreport WHERE user = '$user'"; 
 
$result = $conn->query($sql); 
 

 
if ($result->num_rows > 0) { 
 
    echo "found"; 
 
    
 
} else { 
 
    echo "USER NOT FOUND"; 
 
} 
 

 

 

 

 
    
 
} 
 

 
} else { 
 
    echo "0 results"; 
 
} 
 
$conn->close(); 
 

 

 

 
?>

感謝すべてのヘルプ。

+1

推測で '$ result'を上書きするためです。 –

答えて

2

オープンアイ: 内部の名前を変更してください。$resultそれは最初の書き込みを上回っています$result

問題である可能性があります。しかし、テストされていません。

+0

それはそれをやった!ありがとう、10分制限がアップしていると悪いマークアップ – MattBlack

+0

それは私の答えを受け入れる必要があります:) –