iT邦幫忙

0

如果php要新增的資料包括日期的部分 需要修改格式的話

<?php

require_once("SQL_data.php");
$new1=isset($_POST["S1"])<>NULL?$_POST["S1"]:"0";
$new2=isset($_POST["S2"])<>NULL?$_POST["S2"]:"0";
mysqli_select_db($GD,$database);

$sql=sprintf("INSERT INTO course2__redos(redo_time,redo_date) VALUES (%s,%s)",(int)$new1,(int)$new2);

$Result=mysqli_query($GD,$sql) or die(mysqli_error($GD));
exit();

資料表名稱 course2__redos
欄位名稱 redo_time 和 redo_date

$sql=sprintf("INSERT INTO course2__redos(redo_time,redo_date) VALUES (%s,%s)",(int)$new1,(int)$new2);

的redo_date欄位是date 型態(格式:yyyy/mm/dd,不含時間)
目前把redo_date的部分去除測試能成功新增資料
但如果算上redo_date新增就會失敗

如果新增資料的欄位要新增日期的部分應該如何修改呢??
日期到時候會用APP輸入,但貌似PHP的格式要做修改
有嘗試把字串%s改成date 或是(int)改成date.....但貌似不正確.....

mlck970677 iT邦新手 5 級
有試過直接用SQL語法對資料庫進行動作可以成功嗎?
老實說最後三行我看不太懂...@@
A:
以前直接用SQL語法出現空白資料是有成功
基本是PHP檔有新增功能 配合Android輸入資料上傳到SQL
$sql=sprintf("INSE.........
這一行要設定要選擇插入哪個資料表的哪些資料欄位
$Result的部分應該是查詢資料(連結,查詢)
$GD是資料庫連結,詳細設定在 require_once("SQL_data.php");//連結資料庫的PHP檔案
$sql是查詢的條件(包含新增設定之類....)

fillano iT邦超人 1 級 ‧ 2020-02-24 09:15:36檢舉
參考:
https://www.php.net/manual/en/ref.datetime.php

你可以用strtotime把字串剖析成timestamp,然後再用strftime轉成資料庫可以接受的日期格式字串。
A:謝謝參考,試試看
目前設定是App輸入或選擇好要新增的日期,交由php去新增
前提是$sql必須設定成能接受日期並傳送的格式

有試過直接用SQL語法對資料庫進行動作可以成功嗎?
老實說最後三行我看不太懂...@@
fillano iT邦超人 1 級 ‧ 2020-02-24 09:15:36 檢舉
參考:
https://www.php.net/manual/en/ref.datetime.php

你可以用strtotime把字串剖析成timestamp,然後再用strftime轉成資料庫可以接受的日期格式字串。

1 個回答

1
浩瀚星空
iT邦超人 1 級 ‧ 2020-02-24 09:06:46
最佳解答

其實我對你這一段

$new1=isset($_POST["S1"])<>NULL?$_POST["S1"]:"0";

有點好奇。

isset會回傳的只有真偽值。
你再用一個<>null判斷??
不就永遠都是真值了?

理論上只要

$new1=isset($_POST["S1"])?$_POST["S1"]:"0";

這樣就好了。如果是跑php7的話。
還可以簡化成

$new1=$_POST["S1"]??"0";

看看你的問題是不是在還。

我要發表回答

立即登入回答