首页 > 解决方案 > 在 SQL 数据库中插入 HEX 代码

问题描述

我试图通过 PHP 将十六进制代码插入 SQL 数据库,但无法完成。我试图 UNHEX 但它没有给出任何结果。输入代码:

<input type="color" name="color">

插入 PHP 代码:

$color = $_POST['color'];
$query = "INSERT INTO `kolor` (`color`) VALUES (UNHEX($color))";

标签: phpsqlformshex

解决方案


我想你不需要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);

PDO您可以在https://phpdelusions.net/pdo阅读更多信息


推荐阅读