2015-02-01 2 views
-2

У меня есть небольшой PHP-скрипт, который я хотел бы использовать для добавления значения в таблицу SQL.

Когда я сделать что-то вроде: http://ipaddress/phptest.php?350

Если я просто положить 350 в заявление вставки, он работает отлично. Я попытался получить результат добавления GET, но, похоже, не смог после многих попыток.

Я либо получаю пустой, либо «массив», добавленный в мой стол.

Любая помощь будет оценена по достоинству.

Также как бы добавить два значения? Например, phptext.php? 350 &? 450?

Благодаря

<?php 
$servername = "localhost"; 
$username = "administrator"; 
$password = "blabla"; 
$dbname = "test"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


print_r($_GET); 
if($_GET["a"] === "") echo "a is an empty string\n"; 
if($_GET["a"] === false) echo "a is false\n"; 
if($_GET["a"] === null) echo "a is null\n"; 
if(isset($_GET["a"])) echo "a is set\n"; 
if(!empty($_GET[a])) echo "a is not empty"; 


$sql = "INSERT INTO test.sensor (VALUE) VALUES ('$_GET["a"]')"; 


if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 




$conn->close(); 
?> 
+3

Получить параметры имеют следующий формат: 'phptext.php а = 350 & б = 450' –

+0

эта тема о захвате параметра URL. его дублирующаяся тема –

ответ

1

Спецификация HTTP GET заявляет, что переменные передаются как в следующем примере:

url.com/?bar=value&foo=value 

Технически вы передаете значения GET неправильно. Как я вижу, коррекция будет:

http://ipaddress/phptest.php?a=350 

Кроме того, в качестве дополнительного указателя, дезинфицировать переменные перед отправкой в ​​базу данных SQL, так как это приведет к уязвимости SQL-инъекции.

Вы можете использовать ...

mysqli_real_escape_string(); 

Или использовать подготовленные заявления, тем более общепринятый/отказоустойчивый способ работы с ними.

Для получения дополнительной справки, http://php.net/manual/en/mysqli.real-escape-string.php

Смежные вопросы