0
$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')");                                 
  }

При отправке запроса в бд создаётся строка, в этом всё хорошо, но при других любых значениях не создаётся вторая строка, приходится удалять старую и делать запрос с новыми данными чтобы их увидеть в бд. В чём может быть проблема?

  • что должно обозначать вот это глубокомысленное изречение, if (mysql_num_rows($NewUser) == 0)? – Ипатьев Jul 24 '21 at 20:01
  • честно не знаю, нашёл похожую программу для своих целей – Andrey Laki Jul 25 '21 at 09:19
  • Я не знаю, где вы это нашли, но данная строчка не имеет ни малейшего смысла. Ну точнее она как раз и виновата в том поведении которое вы описываете. Единственное, что она делает - это следит за тем, чтобы в БД всегда была только одна строчка. – Ипатьев Jul 25 '21 at 09:27
  • В общем, вам надо не искать "похожую программу", а либо садиться учить язык, либо найти более продвинутого сокурсника, и мотивировать его чтобы он сделал лабу за вас, как это делают всегда студенты – Ипатьев Jul 25 '21 at 09:28

2 Answers2

3

Очевидно, что id является уникальным, поэтому попытка вставить запись с таким же id - будет ошибка.

А её не видите потому, что отключен вывод сообщений об ошибке (error_reporting (0);). Рекомендую ознакомиться

Как и какими средствами находить ошибки в PHP коде?

Там и про то, как включить отображение ошибок и как отлаживать и т.д.


А ещё тут вперемешку mysql и mysqli

  • по поводу id, я менял значения id то есть вручнуб, когда уже была одна строчка в бд, и всё равно ничего не добавлялось, Что в таком случае делать с mysql и mysqli? – Andrey Laki Jul 25 '21 at 09:21
  • @AndreyLaki изучить документацию. Потому что не ясно во-первых какое именно расширение используется, во-вторых всё используется неверно в принципе. Начиная от того, что не передаётся дискриптор подключения в mysql(i)_query и тем, что описал Ипатьев, и заканчивая тем, что используются разные расширения и не используются подготовленные переменные – Алексей Шиманский Jul 25 '21 at 09:23
  • @AndreyLaki в целом я написал в ответе - включать отображение ошибок и смотреть какие ошибки выдаются. В ином случае - это всё гадание на кофейной гуще – Алексей Шиманский Jul 25 '21 at 09:24
0

Немножко покопался, убрал лишнего, код стал такой и новые строки начали появляться:

$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')");