使用 PDO 预处理语句或 ORM 框架来选择行,而不是直接使用 SQL 查询和强制类型转换。这样可以防止 SQL 注入攻击以及避免数据类型不匹配的问题。
示例代码:
// 连接数据库
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$pdo = new PDO($dsn, $username, $password);
// 准备查询语句
$sql = 'SELECT name, age FROM users WHERE id = :id';
// 预处理语句
$stmt = $pdo->prepare($sql);
// 绑定参数并执行查询
$id = 1;
$stmt->bindParam(':id', $id);
$stmt->execute();
// 获取结果
$row = $stmt->fetch();
$name = $row['name'];
$age = $row['age'];
addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'testdb',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
// 使用 ORM 框架查询数据
$user = User::find(1);
$name = $user->name;
$age = $user->age;
?>
下一篇:避免在循环之前重复循环体。