2017-03-17 79 views
1

我只是轉移我的網站到另一個託管,但某些腳本停止工作,很多很簡單,因爲這:查詢不工作

mysql_query("INSERT INTO orders (userid,cid,tipou,cantidad,factura,producto,lote,notas,cprod,pbase,cenvio,fecha,status,cobro,ip) 

VALUES ('{$_SESSION['id_usuario']}','{$cid}','{$tipou}','{$cantidad}','{$factura}','{$producto}','{$numlot}','{$notas}','{$cprod}','{$pbase}','{$cenvio}','{$fecha}','{$status}','{$cobro}','{$ip}')"); 

即時通訊使用PHP 5.6版本,並tryed啓用錯誤報告,但我不得到任何警告,查詢不會在表上插入任何數據。

請道歉我的英語,並感謝您的幫助。

+2

每次你使用[mysql_'](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) 在新代碼中的數據庫擴展 * * [小貓被勒死在世界的某個地方](http://2.bp.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled.jpg)**它被棄用,並已多年,在PHP7中永遠消失了。 如果您只是學習PHP,請花些精力學習'PDO'或'mysqli'數據庫擴展。 [從這裏開始](http://php.net/manual/en/book.pdo.php) – rackemup420

+0

感謝您的回答,我只是買了一些書來學習,但他們都使用mysql_ :(:(我的電話號碼是 –

+0

@ GuillermoEsquivel。對於新的更新,請在線學習教程。自編程改變以來,大多數書籍已經過時 – iCoders

回答

1
This is how i set it up pretty much: 

connect.php:

<?php 

define('DB_HOSTNAME', 'HOSTNAME'); 
define('DB_USERNAME', 'USERNAME'); 
define('DB_PASSWORD', 'PASSWORD'); 
define('DB_DATABASE', 'DATABASE'); 

function dataQuery($query, $params) { 
$queryType = explode(' ', $query); 

// establish database connection 
try { 
    $dbh = new PDO('mysql:host='.DB_HOSTNAME.';dbname='.DB_DATABASE, DB_USERNAME, DB_PASSWORD); 
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) { 
    echo $e->getMessage(); 
    $errorCode = $e->getCode(); 
} 

// run query 
try { 
    $queryResults = $dbh->prepare($query); 
    $queryResults->execute($params); 
    if($queryResults != null && 'SELECT' == $queryType[0]) { 
     $results = $queryResults->fetchAll(PDO::FETCH_ASSOC); 
     return $results; 
    } 
    $queryResults = null; // first of the two steps to properly close 
    $dbh = null; // second step to close the connection 
} 
catch(PDOException $e) { 
    $errorMsg = $e->getMessage(); 
    echo $errorMsg; 
} 
} 

?> 

然後我就使用功能做的工作:

<?php 

    function functionNameHere() { 
     $query = "INSERT INTO orders (userid,cid,tipou,cantidad,factura,producto,lote,notas,cprod,pbase,cenvio,fecha,status,cobro,ip) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
     $params = array($_SESSION['id_usuario'],etc...); 
     dataQuery($query,$params); 
    } 

?> 

然後就叫<?php functionNameHere(); ?>

+0

感謝您幫助我@ rackemup420,將是一個漫長的夜晚,擔心我迄今爲止所做的所有工作,但很高興能夠學到新的東西。 –

+0

之前,你潛入任何退後一步,閱讀pdo律。它沒有你想象的那麼糟糕。 – rackemup420

+0

我希望如此,再次感謝! :) –

0

創造了這個:

$sessid = $_SESSION['id_usuario']; 
if (!$mysqli->query("INSERT INTO orders (userid,cid,tipou,cantidad,factura,producto,lote,notas,cprod,pbase,cenvio,fecha,status,cobro,ip) 

VALUES ('".$sessid."','".$cid."','".$tipou."','".$cantidad."','".$factura."','".$producto."','".$numlot."','".$notas."','".$cprod."','".$pbase."','".$cenvio."','".$fecha."','".$status."','".$cobro."','".$ip."')")) { 
    echo "Falló la Insersión de Datos: (" . $mysqli->errno . ") " . $mysqli->error; 
} else {echo"Datos Insertados";} 

在本地主機上工作,但不在我的服務器上。