Здравствуйте. Я хочу хранить некоторую часть моего кода в базе (удобно так). вот ака я это сделал:
есть форма:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<h3>Добавить событие</h3>
<form action="sql/cron_add_sql.php" method="post" name="test_form">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="center"><strong>Введите необходимую информацию</strong></td>
</tr>
<tr>
<td width="150">название выполняемого скрипта :</td>
<td><input type="text" name="name" maxlength="30" /></td>
</tr>
<tr>
<td width="150">Когда выполняется :</td>
<td><select name="cron" size="1">
<option value="min">раз в минуту</option>;
<option value="min">раз в час</option>;
<option value="min">раз в день</option>;
<option value="min">раз в неделю</option>;
<option value="min">раз в месяц</option>;
</select></td>
</tr>
<tr>
<td width="150">php скрипт:</td>
<td><textarea type="text" name="src" cols= "40" rows="5"></textarea></td>
</tr>
<tr>
<td width="150">включен :</td>
<td>
<input type="radio" name="enable" value="yes" checked="checked" /> да
<input type="radio" name="enable" value="no" /> нет
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" class="buttons" value="Добавить" />
<input type="reset" class="buttons" value="Очистить" />
</td>
</tr>
</table>
</form>
которая потом передает обработчику параметры через POST:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
require_once("db.php");
$xtable = "cron";
$query = "INSERT INTO $xtable SET name='".$_POST['name']."',src='".$_POST['src']."',cron_t='".$_POST['cron']."',enable='".$_POST['enable']."'";
$db->sql($query);
mysql_close();
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Данные успешно сохранены!</font>
<a href=../index.php>Вернуться назад</a></div>");
класс db.php:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<?php
require_once "config.php";
class db extends config
{
private $connection;
function __construct()
{
$this->open_connection();
echo "connection set\n";
}
private function open_connection()
{
$this->connection = mysql_connect($this->DB_HOST,$this->DB_USER,$this->DB_PASS);
if(!$this->connection)
{
die("Database connection faild: ");
}
else
{
$db_select = mysql_select_db($this->DB_NAME);
}
mysql_query("set names utf8") or die("set names utf8 failed");
}
public function sql($query)
{
$result= mysql_query($query,$this->connection);
if(!$result)
{
die("!!!!!Database query failed: ".mysql_error());
}
return $result;
}
}
$db= new db();
?>
проблема в следующем...
Когда я с помощью этой формы пытаюсь записать следующий код в базу:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
require_once("/etc/sh/sh.php");
require_once("/etc/sh/db.php");
$query="SELECT dev_id, dev_name FROM dev WHERE dev_type='temp'";
$dbxx=new db();
$result=$dbxx->sql($query);
$res=array();
$com="ls -1 ".$wpath;
$dev=array();
$dev=exec($com);
$n=0;
$n=count($dev);
while($res=mysql_fetch_array($result,MYSQL_ASSOC))
{
$com="ls -1 ".$wpath." | grep ".$res['dev_name'];
$c=exec($com);
if($c!="")
{
$com="cat ".$wpath."/".$res['dev_name']."/temperature";
$t=exec($com);
$mysqldate = date('Y-m-d H:i:s');
}
$dbx=new db();
$query="INSERT INTO temp SET dev_id='".$res['dev_id']."',temp='".$t."',date='".$mysqldate."'";
// echo $res['dev_id']." ".$t." ".$mysqldate;
$dbx->sql($query);
}
вылазит следующая ошибка:
1.
Database query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'temp'"; $dbxx=new db(); $result=$dbxx->sql($query); $res=array(); $com="ls' at line 1
Подскажите, пожалуйста, как решить данную проблему?