باستخدام bind_param Mysqli مع التاريخ والوقت الأعمدة؟

StackOverflow https://stackoverflow.com/questions/805828

  •  03-07-2019
  •  | 
  •  

سؤال

وكيف ادخال البيانات في تاريخ الخلية أو العمود الوقت باستخدام PHP mysqli وbind_param؟

هل كانت مفيدة؟

المحلول

ومثل أي سلسلة أخرى

$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();

نصائح أخرى

والطوابع في PHP هي الأعداد الصحيحة (عدد الثواني من عصر UNIX). بديل إلى ما سبق هو استخدام نوع عدد صحيح المعلمة التاريخ / الوقت، وظائف الخلية FROM_UNIXTIME وUNIX_TIMESTAMP

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();

ولقد استخدمت وظيفة التاريخ () وهذا حل لي مشكلة.

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES ?");
// 6/10/2015 10:30:00
$datetime = date("Y-m-d H:i:s", mktime(10, 30, 0, 6, 10, 2015));
$stmt->bind_param("s", $datetime);
$stmt->execute();

لالتاريخ / الوقت الحالي يمكنك استخدام روتين القياسية الخلية. لم يكن لديك لإعداد ذلك.

$query  = "INSERT INTO tablename ";
$query .= "VALUES(?,?,?,NOW()) ";
$preparedquery = $dbaselink->prepare($query);
$preparedquery->bind_param("iii",$val1,$val2,$val3);

استخدم وظيفة الخلية الآن () للحقول الطابع الزمني.

أولا تعيين وظيفة التاريخ والوقت باستخدام التاريخ () -

$date=date("d/m/y");
$time=date("h:i:sa");

وثم تمريرها إلى بيان معد سلفا، تماما مثل أي متغير سلسلة أخرى -

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn, timeColumn) VALUES (?,?)");
$stmt->bind_param("ss", $date , $time);
$stmt->execute();

و$ ف = "تضاف إلى ORDER_DETAILS (ORDER_ID، PRODUCT_ID، PRODUCT_NAME، product_quantity، PRODUCT_PRICE، created_at، updated_at) القيم (،،،،، NOW ()، NOW ()؟؟؟؟)"؛

            $stmt = mysqli_prepare($dbc, $q);

وmysqli_stmt_bind_param ($ stmt، 'iisid، $ أورد، $ معرف المنتج، $ _SESSION [' PRODUCT_NAME ']، $ الكمية، السعر $)؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top