我想在一个字段中插入多个值,我不知道如何使用长文本数据类型字段来实现这一点。并且还告诉我如何一次只获取这些值一个单独的值。
答案 0 :(得分:0)
将多个值存储到单个列中不是一个好主意。如果你真的想那样将你的字符串存储为昏迷分隔。从数据库读回时你可以使用php explode功能。 Php explode
我会给你另一个存储选项
假设你的字符串是str1,str2,str3
首先,如果你使用你的方法,它将如下所示。我认为这不是一个好主意。
我认为以下是好方法
答案 1 :(得分:0)
据我所知,MySQL没有任何可以帮助您使用案例的数据类型。好吧,实际上它有一个“设置”数据类型,但如果我没记错的话,它只允许最多60个成员。
您可以尝试使用BLOB作为列类型并在其中存储序列化数据(即JSON,协议缓冲区)。
但是,我建议您重新评估数据库的设计。你正在打破the first normal form,这表明你做错了什么。
答案 2 :(得分:0)
使用json_encode对内容进行编码,然后将其存储在db字段中,当您检索该值时,请使用json_decode(与wordpress相同)
答案 3 :(得分:0)
在单个字段中插入多个值:
要在单个字段中插入平面编号,请使用implode
和以逗号分隔的值。
$r=implode(",",$available);
$insert=mysql_query("insert into flatdetails(available) value ('$r')")
要从数据库使用中检索值,explode
将所有值分开..
用于使用检索值 的 $ I =爆炸( “”,$ R); 强>
<?php
$select_tbl=mysql_query("select * from flatdetails",$conn);
while($fetch=mysql_fetch_object($select_tbl))
{
$r=$fetch->available;
$i=explode(",",$r);
echo $i[0]."</br>";
}
?>
答案 4 :(得分:0)
我认为你应该使用PHP的Array和Implode功能。创建一个数组并用逗号进行内部删除。例如---
假设您有三个字段,然后获取这些输入字段的值并创建一个数组。
$arr = array(); // Declare an array
$arr[] = $_POST['FirstField'];
$arr[] = $_POST['SecondField'];
$arr[] = $_POST['ThirdField'];
//尽可能多的输入字段。
然后把它变成像
这样的字符串$insertValue = implode(',',$arr); // This will create a string containing all your fields values and you can save it in single field.
只需在插入查询中使用此单个变量。
希望这会对你有所帮助。
答案 5 :(得分:0)
db连接文件与PDO另存为config.php
<?php
$dbhost = 'localhost';
$dbname = 'clsrepair';
$dbuser = 'root';
$dbpass = '';
try {
$db = new PDO("mysql:host={$dbhost};dbname={$dbname}",$dbuser,$dbpass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo "Connection error: ".$e->getMessage();
}
?>
然后在你想要的文件中:
if(isset($_POST['your_form']))
{
try {
$leavingEquipment = implode(', ', $_POST['leavingEquipment']);
$statement = $db->prepare("INSERT INTO orderForm (orderNo,leavingEquipment) VALUES (?,?)");
$statement->execute(array($_POST['orderNo'],$leavingEquipment));
$success_message = "Order's has been inserted successfully.";
}
catch(Exception $e) {
$error_message = $e->getMessage();
}
}
答案 6 :(得分:0)
尝试在您的公用事业表中添加其他字段,例如1,用于租用(不可用) 0可用
查询所有公寓的指示符为0,并列出所有可用的公寓。