查询不工作
我只是转移我的网站到另一个托管,但某些脚本停止工作,很多很简单,因为这:查询不工作
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启用错误报告,但我不得到任何警告,查询不会在表上插入任何数据。
请道歉我的英语,并感谢您的帮助。
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(); ?>
感谢您帮助我@ rackemup420,将是一个漫长的夜晚,担心我迄今为止所做的所有工作,但很高兴能够学到新的东西。 –
之前,你潜入任何退后一步,阅读pdo律。它没有你想象的那么糟糕。 – rackemup420
我希望如此,再次感谢! :) –
创造了这个:
$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";}
在本地主机上工作,但不在我的服务器上。
每次你使用[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
感谢您的回答,我只是买了一些书来学习,但他们都使用mysql_ :(:(我的电话号码是 –
@ GuillermoEsquivel。对于新的更新,请在线学习教程。自编程改变以来,大多数书籍已经过时 – iCoders