2015-08-19 79 views
0

我試圖用php更新數據庫。Mysql沒有更新

該網站im工作,我有一個本地副本和副本服務器上。

它在本地工作,但在服務器上顯示它工作,但不更新數據庫。

我已檢查id和數據變量確實有一個值,並且teh連接正在工作。

這是我的代碼:

<?php 
include("../../config/connect.php"); 
if($_GET['id'] and $_GET['data']) 
{ 
    $id = $_GET['id']; 
$data = $_GET['data']; 
$key = $_GET['key']; 

    echo $id; 
    echo "<br>"; 
    echo $data; 
    echo "<br>"; 
    echo $key; 
    echo "<br>"; 

if(mysqli_query($connection, "update userbadges set level='$data' where id='$id'")); 
    echo 'success'; 
} 
?> 

編輯Connect.php

<?php 
$connection = mysqli_connect('localhost', 'myusername', 'mypassword', 'leaderboard'); 
?> 
+1

你最好告訴我們'connect.php' – RiggsFolly

+0

從'if語句'中刪除';'並使用類似'mysqli_error($ connection)'的東西'並且再次運行腳本 –

+0

你沒有做任何錯誤檢查在'mysqli_'函數上。問題可能在任何地方 – RiggsFolly

回答

2

你必須檢查所有與mysqli_電話

connect.php

<?php 
    $connection = mysqli_connect('localhost', 'myusername', 
           'mypassword', 'leaderboard'); 
    if (!$connection) { 
     die('Connect Error (' . mysqli_connect_errno() . ') ' 
     . mysqli_connect_error()); 
} 

您的代碼:

<?php 
    include("../../config/connect.php"); 
    if(isset($_GET['id'], $_GET['data'], $_GET['key'])) { 
    $data = $_GET['data']; 
    $id = $_GET['id']; 
    $key = $_GET['key']; 

    echo $id; 
    echo "<br>"; 
    echo $data; 
    echo "<br>"; 
    echo $key; 
    echo "<br>"; 

    $result = mysqli_query($connection, 
          "update userbadges set level='$data' where id='$id'"); 
    if(! $result) { 
     echo mysqli_error($connections); 
     exit; 
    } 
    echo 'database update ' . mysqli_affected_rows($connection) . ' rows'; 
    } else { 

    echo 'One of the required params is missing'; 
    if ($_GET) { 
     print_r($_GET); 
    } 
?> 

現在,如果有問題,您可能忘記改變MySQL連接用戶名和密碼,或您的託管公司使用一個單獨的數據庫服務器,因此localhost是不對的,你會被告知有關錯誤。

+0

解析錯誤:語法錯誤,意外的T_IF在/srv/www/htdocs/Stefan/Pharmacy/backend/module/process3.php在線22也localhost將是正確的對於服務器,因爲即使它不更新數據庫,它也會顯示來自數據庫 – Drew

+0

的數據if(!$ result);多數民衆贊成在導致錯誤 – Drew

+0

'localhost'正確,好吧,這只是在黑暗中的一槍,以加強需要做所有這些錯誤檢查。 – RiggsFolly