这是一些PHP代码:
<?php
header('Content-Type: text/html; charset=utf-8');
//Параметры для соединения с БД
define('DB_SERVER', '');
define('DB_USERNAME','');
define('DB_PASSWORD', '');
define('DB_DATABASE', '');
//Подключение класса для соединения к БД
require_once 'database_class.php';
//Соединение с БД
Database::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$citiesArray = array('Челябинск', 'Миасс');
$table = "CitiesGraphic";
$rows = '*';
$output = '['."<br>";
for ($i=0; $i < sizeof($citiesArray); $i++) {
$where = "city = '".$citiesArray[$i]."'";
Database::setEncoding();
$selectResult = Database::Select($table, $rows, $where);
if($i<sizeof($citiesArray)-1){
$line = '{"city":"'.$selectResult[0][0].'","percentage":"'.$selectResult[0][1].'"},'."<br>";
}
else{
$line = '{"city":"'.$selectResult[0][0].'"percentage":"'.$selectResult[0][1].'"},'."<br>";
}
$output .= $line;
echo $citiesArray[$i].", ";
unset($selectResult);
}
$output .= ']';
echo $output;
// Закрываем соединение с базой данных
Database::Close();
?>
一些javascript输出php的回声。查询没问题,但selectResult错了。
查询:
select * from CitiesGraphic where city = 'Челябинск'
select * from CitiesGraphic where city = 'Миасс'
我的SelectResult:
[<br>{"city":"Челябинск","percentage":"50.00"},<br>{"city":"Челябинск","percentage":"50.00"}<br>]
需要selectresult:
[<br>{"city":"Челябинск","percentage":"50.00"},<br>{"city":"Миасс","percentage":"50.00"}<br>]
我在mysql终端中检查了查询。他们没事。
这是database_class.php:
<?php
header('Content-Type: text/html; charset=utf-8');
//Класс для соединения с ДБ
class Database{
public static $connectDB;//результат соединения со средой
public static $selectDB;//результат выбора БД
public static $numResults;
public static $res;
public static $ins;
public static $del;
public static function numRows(){
return self::$numResults;
}
//Метод для соединения с БД
public static function Connect($host, $user, $pass, $name){
//Попытка соединения с БД
self::$connectDB = mysql_connect($host, $user, $pass);
if(!self::$connectDB){
echo "Подключение к серверу БД не удалось. Ошибка: '".mysql_error()."'";
exit();
return false;
}
//Выбор нужной БД
self::$selectDB = mysql_select_db($name, self::$connectDB);
if(!self::$selectDB){
echo "Не удалось выбрать требуемую БД. Ошибка: '".mysql_error()."'";
exit();
return false;
}
//Возвращение результата
return self::$connectDB;
}
//Метод для выбоа данных из таблицы
public static function Select($tableName, $rows='*', $where = null){
$q = 'select '.$rows.' from ' .$tableName;
if ($where != null){
$q .= ' where '.$where;
}
echo $q.'<br />';
$query = mysql_query($q);
$res = array();
if($query){
self::$numResults = mysql_num_rows($query);
for($i=0; $i<self::$numResults; $i++){
self::$res[]= mysql_fetch_array($query, MYSQL_NUM);
}
//echo "ok";
return self::$res;
}
else{
echo "Ошибка: '".mysql_error()."'";
return false;
}
}
//Метод для добавления записи в таблицу
public static function Insert($tableName, $values, $rows = null){
$insert = 'insert into '.$tableName;
if ($rows != null) {
$insert .= ' ('.$rows.')';
}
$insert .= ' values ('.$values.')';
$ins = mysql_query($insert);
//echo $insert;
if($ins){
//echo "ok";
return true;
}
else{
echo "Ошибка: '".mysql_error()."'";
return false;
}
}
// Метод для удаления записи из таблицы
public static function Delete($tableName, $where = null){
if($where == null){
$delete = 'delete '.$tableName;
}
else{
$delete = 'delete from '.$tableName.' where '.$where;
}
//echo $delete;
$del = mysql_query($delete);
if ($del) {
echo "ok";
return true;
}
else{
echo "Ошибка: '".mysql_error()."'";
return false;
}
}
//Метод для обновления записи в таблице
public static function Update($tableName, $set, $where = null){
if($where == null){
$update = 'update '.$tableName.' set '.$set;
}
else{
$update = 'update '.$tableName.' set '.$set.' where '.$where;
}
//echo $update;
$upd = mysql_query($update);
if ($upd){
return true;
}
else{
echo "Ошибка: '".mysql_error()."'";
return false;
}
}
//Метод для закрытия соединения с БД
public static function Close(){
return mysql_close(self::$connectDB);
}
//Метод для установки кодировки
public static function setEncoding(){
$encoding = 'SET NAMES utf8';
$enc = mysql_query($encoding);
if ($enc){
return true;
}
else{
echo "Ошибка: '".mysql_error()."'";
return false;
}
}
}
?>