2017-03-17 92 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";} 

在本地主机上工作,但不在我的服务器上。