0
    <?php
$mysql = mysqli_connect('localhost' , 'root' ,'', 'test');
$a = $_GET['login'];
$b = $_GET['password'];
mysqli_query($mysql , 'INSERT INTO `registr` (`login`, `password`) VALUES (',$a,',',$b,')');
?>
Tavhid
  • 11
  • 1
    потому что ,$a, а не .$a. – teran May 16 '18 at 12:25
  • 4
    но данная синтаксическая проблема - самая маленькая неприятность из всего этого кода. – teran May 16 '18 at 12:27

3 Answers3

2
mysqli_query($mysql , 'INSERT INTO `registr` (`login`, `password`) VALUES (',$a,',',$b,')');

mysqli_query() expects at most 3 parameters, 6 given почему?

Итого имеем:

mysqli_query(

1. $mysql
2. INSERT INTO registr (login, password) VALUES (
3. $a
4. ','
5. $b
6. ')'

)

Настоятельно рекомендуется использовать биндинг параметров с подготовленными выражениями для передачи параметров в запрос, а также не использовать GET-запросы для изменения (вставки/редактирования/удаления) данных

teran
  • 29,377
0
mysqli_query($mysql , 'INSERT INTO `registr` (`login`, `password`) VALUES ('.$a.','.$b.')');  

Конкатенация строки в PHP происходит при помощи точки, у вас - запятые.

0
<?php
$mysql = mysqli_connect('localhost' , 'root' ,'','test');

$a = $_GET['login'];
$b = $_GET['password'];

$query = mysqli_prepare($mysql , "INSERT INTO `registr` (`login`, `password`) VALUES (?, ?)");

mysqli_stmt_bind_param($query, 'ss', $a, $b);
mysqli_stmt_execute($query);

Рекомендую вам в дальнейшем использовать подготовленные запросы таких драйверов как PDO, иначе вашей базай будут пользоваться все кто хотят.