我正在尝试从数据库中获取一个值,将该值另存为数组,然后使用:分隔符爆炸该数组,将第一个值放在同一表的另一列中,其余的值保留在其中他们来自。我认为我拥有的代码应该可以解决这个问题,但是我要爆炸的值包含爆炸的整数,显然不能很好地处理(?)。我也不能使用str_split(),因为我们最近已升级到PHP 7.2,并且不建议使用str_split()。我在Google上花了很多时间来研究替代方案,但我真的没有看到它们中的任何一种对我有帮助。
这是我最近一次尝试,使用str_word_count():
$queryGetStrings = 'SELECT roleText FROM table1.tempRoles';
$resultGetStrings = mysqli_query($conn,$queryGetStrings) or die("<br> <br>".$queryGetStrings."<br><br>".mysqli_error($conn));
$resultsArray = mysqli_fetch_all($resultGetStrings);
$explode_row = str_word_count($resultsArray, 1, '_123456789');
foreach($resultsArray as $key => $row) {
//Line below is from my explode attempt
//$explode_row = explode(":", $row);
$addSplitColumns = "UPDATE table1.tempRoles SET `user` = '" . $explode_row[0] . "'";
$executeSplitColumns = mysqli_query($conn, $addSplitColumns) or die("<br><br>" .
$addSplitColumns . "<br><br>" . mysqli_error($conn));
有人能推荐一种替代方法吗?我是后端编程的新手,所以我的存储库充其量是暗淡的。我感谢任何建议。
答案 0 :(得分:0)
您所要做的就是将explode的第二个参数强制转换为字符串:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
namespace CropImageToCircle
{
//Browse Image
private void button1_Click(object sender, EventArgs e)
{
var ofd = new OpenFileDialog();
ofd.Filter = "Choose Image(*.jpg;,*.jpeg;,*.png;)|*.jpg;,*.jpeg;,*.png;";
if(ofd.ShowDialog()== DialogResult.OK)
{
pictureBox1.Image =Image.FromFile( ofd.FileName);
}
}
//CropToCircle
private void button2_Click(object sender, EventArgs e)
{
var imageHelper = new ImageHelper();
pictureBox2.Image= imageHelper.CropImage(pictureBox1.Image);
}
//Save Image
private void button3_Click(object sender, EventArgs e)
{
var imageHelper = new ImageHelper();
var sfd = new SaveFileDialog();
sfd.FileName = "*";
sfd.DefaultExt = "png";
sfd.Filter = "Png Image (.png)|*.png ";
sfd.ValidateNames = true;
sfd.FilterIndex = 1;
if (sfd.ShowDialog() == DialogResult.OK)
{
imageHelper.SaveImage(pictureBox2.Image,sfd.FileName,ImageFormat.Png);
}
}
}
如果仅有意义:在更新行之前,应验证结果数组的长度。如果数组中只有一个值,则表示该字符串没有$explode_row = explode(":", (string) $row);