проблема с базой данных через php
$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db_name,$link);
error_reporting (0);
$username = $_POST["email"];
$password = $_POST["pass"];
$NewUser = mysql_query("SELECT * FROM data") or die();
if (mysql_num_rows($NewUser) == 0)
{
$time=date ("d-m-Y H:i:s");
$password = "zczxczxc";
$balance = 1111;
$id = 55;
$ip = "111";
$str = "sdsfsf";
$ref = $_POST['comment'];
$inser = mysqli_query($db,"insert into `data` (id,time,pass,ip,str,balance) values ('$id','$time','$password','$ip','$str','$balance')");
}
При отправке запроса в бд создаётся строка, в этом всё хорошо, но при других любых значениях не создаётся вторая строка, приходится удалять старую и делать запрос с новыми данными чтобы их увидеть в бд. В чём может быть проблема?
Ответы (2 шт):
Очевидно, что id является уникальным, поэтому попытка вставить запись с таким же id - будет ошибка.
А её не видите потому, что отключен вывод сообщений об ошибке (error_reporting (0);). Рекомендую ознакомиться
Как и какими средствами находить ошибки в PHP коде?
Там и про то, как включить отображение ошибок и как отлаживать и т.д.
А ещё тут вперемешку mysql и mysqli
Немножко покопался, убрал лишнего, код стал такой и новые строки начали появляться:
$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db_name,$link);
//error_reporting (0);
$NewUser = mysql_query("SELECT * FROM data") or die();
$time=date ("d-m-Y H:i:s");
$password = "wxw";
$balance = 1215;
$id = 15;
$ip = "931";
$str = "abc";
$ref = $_POST['comment'];
$inser = mysqli_query($db,"insert into `data` (id,time,pass,ip,str,balance) values ('$id','$time','$password','$ip','$str','$balance')");