تم حل المشكلة: rand لا تعمل مع mysqli ما الحل؟

السلام عليكم ورحمة الله وبركاته

الحل: تغيير نوع بيانات حقل الجدول بقاعدة البيانات إلى varchar

لدي هذا الكود

<?php

$activationcode = rand('1000000000','9999999999');

mysqli_query($connect,'INSERT INTO table(code)

VALUES("'.$activationcode.'")') or die(mysqli_error($connect));

?>

عند عرض البيانات المدخله يظهر نفس الرقم مكرر والرقم لا يتغير

مثلا ٢٥٨١٥٢٨٢٤٨ يتكرر كل مرة ولا ينتج رقم جديد

ما الحل


التعليق السابق

أقصد هل قمت بطباعة محتوى المتغير قبل إضافته لقاعدة البيانات أو إرساله؟

ألم تقل بأنه يقوم بطباعة نفس الرقم كل مرة؟

إذًا يجب عليك معرفة مصدر التكرار، هل المتغير قيمته متكررة أم أن القيمة تتكرر داخل MySQL؟

بكل بساطة اطبع قيمة المتغير ثم اوقف السكربت باستخدام exit();

وأخبرني بالنتيجة

الرقم يتكرر داخل mysql فقط

جربت طريقتك والرقم فعلاً يتغير

اشكرك على إهتمامك

جربت إفراغ الجدول ولازال الرقم نفسه يتكرر

ما دامت الرقم يتكرر داخل mysql فهذا يعني أن هناك حدود في الحقل، عليك بمعرفة نوع الحقل الذي تستخدمه، ما هو نوعه؟

الرقم المستخرج ١٠ أرقام، نوع الحقل INT بحد ١١ رقم

هل جربت تغيير نوع الحقل إلى حقل يتحمل أرقام أكبر؟

بالنسبة لحقل INT فحدوده هي من -2147483648 إلى 2147483647.

أي أن الرقم لن يتجاوز 2147483647.

لذلك إذا أردت عدد أرقام أكبر من هذا فيمكنك استخدام BIGINT

المرجع للحدود لكل نوع:

اشكرك

تم الحل

العفو عزيزي، ما كان الخلل؟ وكيف حللت المشكلة؟

أتمنى منك إرفاق الحل في الموضوع الرئيسي ليستفيد قارئوه لاحقًا.

الحل تغيير نوع بيانات الحقل من IMT إلى VARCHAR