我试图通过PHP将十六进制代码插入SQL数据库,但是无法完成。我尝试过UNHEX,但没有任何结果。 输入代码:
<input type="color" name="color">
插入PHP代码:
$color = $_POST['color'];
$query = "INSERT INTO `kolor` (`color`) VALUES (UNHEX($color))";
答案 0 :(得分:1)
我想您不需要UNHEX()
,只需按原样存储即可。
PDO
是执行查询的一种安全的好方法。
示例:
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO("mysql:host=$host;dbname=$db;charset=$charset", $user, $pass, $options);
$sql = "INSERT INTO `kolor` (`color`) VALUES (:color)' ";
$data = [
"color" => $_POST['color'],
];
$stmt= $pdo->prepare($sql);
$stmt->execute($data);
您可以在https://phpdelusions.net/pdo上了解有关PDO
的更多信息
答案 1 :(得分:0)
进行以下操作:
$query = "INSERT INTO kolor (color) VALUES ('$color')";
但是要小心,因为您有使用此语法的大量SQL注入,因此您需要事先准备好请求。