如何在c#中转换PHP函数
本文关键字:转换 PHP 函数 | 更新日期: 2023-09-27 18:14:40
我正在学习Php
和C#
的一些代码,我想知道如何在C#
中转换这些代码?
$data = {
//field name in the database, amount to be inserted
'name' => 'myName',
'email' => 'myEmail',
'number' => 9999999999
};
function DBCreate($table, array $data, $ReturnId = false){
//table prefix
$table = DB_PREFIX . '_' . $table;
//clean sql injection
$data = DBEscape($data);
//creates an array based on database fields
$fields = implode(',', array_keys($data));
$values = "'".implode("', '", $data)."'";
//query sql
$query = "INSERT INTO {$table} ( {$fields} ) VALUES ( {$values})";
//call function that executes the query
return DBExecute($query, $ReturnId);
}
此代码将数据插入到任何数据库表中,仅传递表名以及数组,该数组由对组成,其中key
是数据库中的字段名,value
是要插入数据库的值,最后一个参数是必要时恢复数据库中输入的ID
的值。
或者哪些元素可以学习以便转换?
yet got it:
void DBCreate(string table, Dictionary<string,string> Data) {
var fields = string.Join(", ",Data.Keys.ToArray());
var values = string.Join(", ",Data.Values.ToArray());
string sql = "INSERT INTO " + table + " ( " + fields + " ) VALUES ( " + values + " )";
print(sql);
}
使用: var myDictionary = new Dictionary<string, string>() {
{"Name", "MeuName"},
{"Passowrd", "mypass"}
};
DBCreate("tabela", myDictionary);
这是Usuario类:
public string Name = "";
public string Passowrd = "";
public DateTime Date = Convert.ToDateTime("01/01/1991");
public string Email = "";
public string Username = "";
public int Cash = 0;
public int GP = 0;
public string IdCell = "";
如何获得Usuario类中所有变量的名称,或者如何将其转换为列表?
我决定:
BindingFlags bindingFlags = BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static;
Usuario user = new Usuario();
user.setName("Something");
user.setEmail(123456789);
var newUser = new Dictionary<string, string>();
foreach (FieldInfo field in typeof(Usuario).GetFields(bindingFlags))
{
print(field.Name + " Values => " + field.GetValue(user).ToString());
newUser.Add(field.Name, field.GetValue(user).ToString());
}
谢谢大家!
您想保留PHP使用的有序映射作为数组吗?由于PHP使用有序关联数组,因此您可以使用。net中提供的有序字典或键值对列表。剩下的部分是转义值和构建字符串。您必须显式地定义返回类型。
似乎代码正在构建一个表名和一个具有多个值对的插入查询。我不做c#,但它应该很容易退出一些研究"插入sql c#"。这是我找到的第一个结果