Cara Mengambil Integer dan Jenis Data Berangka sebagai Integer dan Angka dalam PHP daripada MySQL
Apabila menanyakan MySQL menggunakan PHP, perkara biasa ditemui isu di mana lajur integer dan angka dikembalikan sebagai jenis rentetan. Walaupun mengkonfigurasi "PDO::ATTR_STRINGIFY_FETCHES" kepada palsu, masalah ini berterusan.
Penyelesaian
Konfigurasikan PDO:
Pastikan bahawa atribut PDO berikut ditetapkan:
Jenis Dikembalikan
Apabila menggunakan pemacu mysqlnd, nilai lajur integer dan angka dikembalikan sebagai jenis data PHP berikut:
Contoh
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $stmt = $pdo->prepare('SELECT * FROM table'); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_OBJ); echo $result->integer_col; // int echo $result->double_col; // float echo $result->decimal_col; // string echo $result->bigint_col; // string (since value exceeds 64-bit signed int)
Output:
1 1.55 1.20 18446744073709551615
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Jenis Data Integer dan Berangka Dikembalikan dengan Betul daripada MySQL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!