Нужна помощь с PHP+MYSQL

mOxer

Новичок
Статус
offline
Регистрация
08.02.2017
Сообщения
1
Репутация
0
Здравствуйте, уважаемые форумчане. Создавал одну программку, которая через post отсылает данные о пк. Так вот. Мой PHP скрипт не записывает post данные в бд. В чем может быть проблема?
<?php

$host="localhost";
$user="user";
$pass="pass"; //установленный вами пароль
$db_name="db";
$username=$_POST['username'];
$pcname=$_POST['pcname'];
$ram=$_POST['ram'];
$os=$_POST['os'];
$osversion=$_POST['osversion'];
$platform=$_POST['platform'];
$sysdir=$_POST['sysdir'];
$windir=$_POST['windir'];
$currdir=$_POST['currdir'];
$link=mysql_connect($host,$user,$pass);
mysql_select_db($db_name,$link);

$connect_db = mysql_connect("localhost", "user", "pass");
mysql_select_db("db", $connect_db);
$posts = mysql_query("SELECT * FROM users", $connect_db);
$sql=mysql_query("UPDATE users SET id = '".$posts."'+1 ");

$ip=getenv("REMOTE_ADDR");
$status=$_POST['status'];
$sql=mysql_query("UPDATE users SET status = 'offline' WHERE id ='".$posts."'+1 ");
if ($status=="1") {
$sql=mysql_query("UPDATE users SET status = 'online' WHERE id ='".$posts."'+1 ");
} else {
if ($status=="0") {
$sql=mysql_query("UPDATE users SET status = 'offline' WHERE id ='".$posts."'+1 ");
}
else {
$sql=mysql_query("UPDATE users SET status = 'unknown' WHERE id ='".$posts."'+1");

}
}
//if (isset($_GET['os'])) { }
mysql_query("SET NAMES `UTF-8`");
mysql_set_charset('utf8');

$sql = "SELECT username FROM users WHERE username = '".$username."'";
$result = mysql_query($sql);
if(mysql_num_rows($result)==0){
$sql = "SELECT ip FROM users WHERE ip = '".$ip."'";
$result = mysql_query($sql);
if(mysql_num_rows($result)==0){
$sql = mysql_query("REPLACE INTO `users` (`platform`, `username`,`pcname`, `os`,`osversion`, `windir`,`sysdir`, `currdir`)
VALUES ('".$_POST['platform']."','".$_POST['username']."','".$_POST['pcname']."','".$_POST['os']."','".$_POST['osversion']."','".$_POST['windir']."','".$_POST['sysdir']."','".$_POST['currdir']."',)");
}
//Если вставка прошла успешно
if ($sql) {
echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {
echo "<p>Произошла ошибка.</p>";
}

}else{
echo "Такая запись уже существует!";
}


?>
никаких ошибок не выдает. Никак не записывает данные бд. Пробовал многими способами. В чем может быть проблема? Заранее спасибо
 

kiborg728

Новичок
Статус
offline
Регистрация
28.02.2017
Сообщения
1
Репутация
0
1) Если PHP 7 версии, то функции считаются устаревшими.
Код:
$connect_db = mysql_connect("localhost", "user", "pass");
mysql_select_db("db", $connect_db);
$posts = mysql_query("SELECT * FROM users", $connect_db);
$sql=mysql_query("UPDATE users SET id = '".$posts."'+1 ");
2) В первой строке ты в переменную $posts получаешь не какое-то определённое значение, а МАССИВ. В следующей строке ты пытаешься в 'id' записать array() + 1, а нужно что-то типа $posts[0] + 1 или count($posts) + 1. И ещё! Ты пытаешься установить в id не сумму переменной + 1, а именно значение 'array() + 1'. Чтобы установить сумму, тебе нужно будет что-то типа
'...SET id = '".count($posts) + 1."'...'.
Код:
$posts = mysql_query("SELECT * FROM users", $connect_db);
$sql=mysql_query("UPDATE users SET id = '".$posts."'+1 ");
3) ЗАЧЕМ ТАК ДЕЛАТЬ? Просто в MySQL столбцу id установи первичный ключ и auto increment и при записи в таблицу не нужно будет id вообще указывать. Он сам будет заполняться +1 от самого последнего.