По предложению многих, я изучаю PDO для выполнения большого PHP-запроса MySQL. Что не так с моим запросом? Код - это всего лишь одна подача большой формы, и все рекомендуют PDO над handcoding большой запрос mysql.PHP SQL PDO Update Query
Сам запрос дает жалобу от Dreamweaver, но не от Zend Studio. Может быть что-то не так?
<?php
$host="localhost"; // Host name
$username="********"; // Mysql username
$password="********"; // Mysql password
$db_name="practice"; // Database name
$tbl_name="administration"; // Table name
// Connect to server and select databse.
//$dbc = mysql_connect("$host", "$username", "$password")or die("cannot connect");
try {
# MySQL with PDO_MYSQL
$DBH = new PDO("mysql:host=$host;dbname=$db_name", $username, $password);
}
catch(PDOException $e) {
echo $e->getMessage("Error Connecting to Database");
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
mysql_select_db("$db_name")or die("cannot select DB");
//These variables stay the same and can be used as is in A PDO submission
$ac1=$_POST['ac1'];
$ac2=$_POST['ac2'];
$fan=$_POST['fan'];
$na=$_POST['na'];
$dh=$_POST['dh'];
//Initialization of variables is typical
$tolerance1=$_POST['tolerance1'];
$temptime1=$_POST['temptime1'];
$tolerance2=$_POST['tolernce2'];
$temptime2=$_POST['temptime2'];
$tolerance3=$_POST['tolerance3'];
$temptime3=$_POST['temptime3'];
$tolerance4=$_POST['tolerance4'];
$temptime4=$_POST['temptime4'];
$tolerance5=$_POST['tolerance5'];
$temptime5=$_POST['temptime5'];
$humidtolerance1=$_POST['humidtolerance1'];
$humidtime1=$_POST['humidtime1'];
$humidtolerance2=$_POST['humidtolerance2'];
$humidtime2=$_POST['humidtime2'];
$humidtolerance3=$_POST['humidtolerance3'];
$humidtime3=$_POST['humidtime3'];
$humidtolerance4=$_POST['humidtolerance4'];
$humidtime4=$_POST['humidtime4'];
$humidtolerance5=$_POST['humidtolerance5'];
$humidtime5=$_POST['humidtime5'];
$custnum = 0;
//Each parameter is bound to a number.
$STH->bindParam(1, $ac1);
$STH->bindParam(2, $ac2);
$STH->bindParam(3, $fan);
$STH->bindParam(4, $na);
$STH->bindParam(5, $dh);
$STH->bindParam(6, $tolerance1);
$STH->bindParam(7, $temptime1);
$STH->bindParam(8, $tolerance2);
$STH->bindParam(9, $temptime2);
$STH->bindParam(10, $tolerance3);
$STH->bindParam(11, $temptime4);
$STH->bindParam(12, $tolerance4);
$STH->bindParam(13, $temptime4);
$STH->bindParam(14, $tolerance5);
$STH->bindParam(15, $temptime5);
$STH->bindParam(16, $humidtolerance1);
$STH->bindParam(17, $humidtime1);
$STH->bindParam(18, $humidtolerance2);
$STH->bindParam(19, $humidtime2);
$STH->bindParam(20, $humidtolerance3);
$STH->bindParam(21, $humidtime3);
$STH->bindParam(22, $humidtolerance4);
$STH->bindParam(23, $humidtime4);
$STH->bindParam(24, $humidtolerance5);
$STH->bindParam(25, $humidtime5);
$STH->bindParam(26, $custnum);
//Dreamweaver says there is an error here but Zend Studio does not.
# unnamed placeholders
$STH = $DBH->("UPDATE $tbl_name WHERE custnum = $custnum (ac1, ac2, fan, na, dh, tolerance1, temptime1, tolerance2, temptime2, tolerance3, temptime3, tolerance4, temptime4, tolerance5, temptime5, humidtolerance1, humidtime1, humidtolerance2, humidtime2, humidtolerance3, humidtime3, humidtolerance4, humidtime4, humidtolerance5, humidtime5,) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$STH->execute();
//Send them back to the page they were at/
header("location:index.php");
?>
ли вы на самом деле получить любую ошибку за пределами вашей IDE при тестировании? – maxedison
Я бы предположил, что, учитывая '$ DBH -> ('...')' is bad grammar ... – cHao
Да, ошибка - ошибка Parse: синтаксическая ошибка, неожиданный '(', ожидающий T_STRING или T_VARIABLE или ' {'или' $ 'в /hvac/admin/admin.php в строке 84 –