jika saya mengambil dan melakukan sesuatu seperti ini:
$p = 10;
$n = 3;
$evalstr = "\$f = 0.99 + ((.025 * \$p) * \$n);";
eval($evalstr);
echo $f;
Saya mendapatkan 1,74 yang ditampilkan, tidak ada kesalahan semuanya baik-baik saja, tetapi ketika saya memiliki tabel mysql yang menampung persamaan ini (untuk tujuan contoh ini, persamaannya sama persis)...seperti:
$p = 10;
$n = 3;
while ($result = mysql_fetch_assoc($results)) {
$math = $result['math'];
//at this point $math = "\$f = 0.99 + ((.025 * \$p) * \$n);"
eval($math);
}
Saya mendapatkan kesalahan Parse: kesalahan sintaksis, T_VARIABLE tak terduga, mengharapkan T_STRING di ajax\getprices.php(30): kode eval() pada baris 1
Tidak yakin mengapa, jika saya mencetak echo $math apakah itu identik dengan yang saya miliki sebagai $evalstr pada contoh pertama. $p dan $n sebenarnya disetel dari variabel GET tetapi meskipun saya menyetelnya secara manual seperti pada contoh, itu tidak berfungsi.
eval()
denganvar_dump($math)
dan beri tahu kami tepatnya apa yang dicetaknya. - person Ilmari Karonen   schedule 19.10.2011