簡體   English   中英

如何將數據庫中的 ID 編號存儲到我將使用 PHP 生成的二維碼中?

[英]How to store id number in my database to the QR code that I will generate using PHP?

我是 PHP 新手,目前我正在創建一個二維碼生成器。 但是,我遇到了一些問題,我不知道如何將我的數據庫的詳細信息連接到 QR 碼。 我的意思是我想在我的數據庫中使用字段 idNum 作為在我的二維碼中生成的文本。 以下是我的代碼示例:

include('phpqrcode/qrlib.php');

$text="Hello";

$path = 'qrcodes/';
$file = $path.uniqid().".png";

$ecc = 'L'; // error correction capability
$pixel_Size = 170;
$frame_size = 10;

QRcode::png($text, $file, $ecc, $pixel_Size, $frame_Size);

我想在我的數據庫中顯示 idNum,而不是文本“Hello”。 如何? TY

這也是我創建的一個嘗試代碼,但是當我掃描二維碼時,沒有顯示任何值。 任何建議為什么?

$connection = mysqli_connect("localhost", "root", "", "db_bakascts") or die(mysqli_error($mysqli)); 

$id=isset($_POST['idNum']);
$sql = "SELECT * FROM tb_usersreg WHERE idNum='$id'";

$result=mysqli_query($connection,$sql) or die("Error");

    $width = "250";
    $height = "250";
    
    $url = "https://chart.googleapis.com/chart?cht=qr&chs={$width}x{$height}&chl={$id}";
    $qr["img"] = $url;

我創建了一個簡單的工作示例,包含一個 list.php 和 qr.php。

列表.php

這將根據數據庫中的 id 顯示一個二維碼列表。

$connection = mysqli_connect("localhost", "root", "", "db_bakascts") or die(mysqli_error($mysqli)); 

$sql = "SELECT * FROM tb_usersreg";
$result=mysqli_query($connection,$sql) or die("Error");

foreach($result as $result) {
    echo "<img src='qr.php?idNum={$result['idNum']}' />";
}

php文件

Qr.php 將根據給定的 idNum 呈現二維碼。

include('phpqrcode/qrlib.php');

$id=isset($_GET['idNum']) ? $_GET['idNum'] : trigger_error("No idNum given");
QRcode::png($id); //this will output the qr code directly as an image 

輸出 (list.php)

我的數據庫中有 2 條記錄。

由於您在問題中解釋了您想根據數據庫中的 id 生成一些 QR 碼,因此我創建了這個簡單的示例。 如果需要,您可以根據需要進一步調整它。

注意:您可以改進您的代碼

我假設你想要像我上面給出的例子那樣的東西。 但我想指出您的代碼中的一些代碼改進:

1. $id=isset($_POST['idNum']);

這將返回一個布爾值,而不是數字 id 值。 您可以查看我的代碼是如何實現的:

$id=isset($_GET['idNum']) ? $_GET['idNum'] : trigger_error("No idNum given");

2. 使用 mysqli_real_escape_string 和查詢參數

如果您必須在查詢中使用參數,請使用 mysqli_real_escape_string 來防止 SQL 注入。

$sql = "SELECT * FROM tb_usersreg WHERE idNum='".mysqli_real_escape_string($id) . "'";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM