PHP + SQL Script - Protect against SQL Inject

Robert Heras

I'm using unity to pass values to my php script with HTTP GET. I am new to php and just got my script to work, however, I would like to make sure I can protect against SQL Injection. Can someone please look this over and let me know what I need to change in order to protect it?

<?php

$servername = "localhost";
$username = "Test";
$password = "Test";
$dbname = "Test";

$userId = $_GET['userId'];

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

$sql = "SELECT rp FROM RP where userID = '$userId'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        //echo "UserID: " . $row["userID"]. " - RP: " . $row["rp"]."<br>";
    echo "RP: " . $row["rp"]."<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>
Boris

To prevent sql injections - use prepared statements. Here's the link: http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

UPDATED

Example:

$id = 5;

$c = new mysqli($servername, $username, $password, $dbname);
$s = $c->prepare("SELECT * FROM RP WHERE id = ?");
$s->bind_param('s', $id);
$s->execute();
$r = $s->get_result();
$f = $r->fetch_assoc();

echo $f['rp'];

UPDATED

Example #2:

$id = 5;
$rp = "lalala";
$rp2 = "boomboomboom";

$c = new mysqli($servername, $username, $password, $dbname);
$s = $c->prepare("UPDATE RP SET rp = ?, rp2 = ? WHERE userID = ?");
$s->bind_param('sss', $rp, $rp2, $id);
$s->execute();

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Best way to protect against SQL injection in SqlDataAdapter

From Dev

Does passing XML as a parameter protect me against SQL injection?

From Dev

Using column_names.include? to protect against SQL Injection?

From Dev

Inject SQL query into PHP code

From Dev

Rails - how to protect against sql injection for a postgres find_by_sql query?

From Dev

Simple PHP function safe against SQL injection?

From Dev

PHP script for PIVOT in SQL

From Dev

PHP script for PIVOT in SQL

From Dev

SQL Injections PDO Protect

From Dev

SQL Injections PDO Protect

From Dev

How to protect SQL run through PHP by Javascript Post function

From Dev

PHP, generate string with format, check against SQL db?

From Dev

PHP Login Form (no sql) - Validated against text file records - Not validating

From Dev

PHP / SQL: searching against html entities stored in database

From Dev

SQL Syntax error in PHP script

From Dev

Protect generic sql query statements

From Dev

authentication against ADFS, authorization against sql server

From Dev

How to protect against CSRF

From Dev

Protect Website Against Piracy

From Dev

SQL Query against Excel Spreadsheet

From Dev

SQL Query against Excel Spreadsheet

From Dev

SQL lookup against list and insert

From Dev

SQL: Querying Against Composite Entity

From Dev

SQL check against 2 columns

From Dev

php sql sign login system using bcrypt mysqli and security like (prevent sql inject)

From Dev

getting error in my php/sql script?

From Dev

PHP script for exporting a single table to SQL file

From Dev

PHP Redirect Not Working on Script Containing SQL Queries

From Dev

PHP script for exporting a single table to SQL file

Related Related

HotTag

Archive